This project is read-only.

Project Description

WCF Contrib is a library with infrastructure implementations for client and service communications using WCF technology.

The project contains useful components assembled from long-term business applications development and best practices.


- July 3, 2010 - WcfContrib v2.1.1

This release adds core optimizations and internal fixes to the infrastructure.
There are no breaking changes from the last version, only internal improvements.

In previous versions you may have encountered synchronization related errors such as recursive write/read locking.
These issues were resolved and you should no longer experience that.

This release is highly recommended over previous versions, make sure you use this one.

- April 16, 2010 - .NET 4.0 - WcfContrib v2.1

The same version released on March 7th had been compiled for .NET 4.0 and is now available for download -

- March 7, 2010 - WcfContrib v2.1 Final March 07

A new release had been published - WCF Contrib v2.1 Mar07.
This release is the final version of v2.1 Beta that was published on February 10th, so you can check the entire updates made from v2.0 further below.
You can distinguish between this release and the v2.1 Beta Feb10 by checking the assembly file version, in this release it was incremented to v2.1.0.1.

Changes from v2.1 Feb10 Beta:
There is a one small change which is a breaking change for those who used the asynchronous invocation pattern using the "InvokeChannelAsync" or "InvokeAsync". (protected methods of ClientChannel)
This is a seldom used pattern so the chances of that affecting you are pretty minimal.
The change is very simple, instead of working with AsyncServiceInvokeCallback in these methods, it gets the general AsyncCallback which it then calls by passing it a ChannelInvokeAsyncResult which contains all the information needed.

- February 10, 2010
FAQ - A new documentation was added with answers to frequently asked questions.

- February 8, 2010
A section describing how to customize the output caching module was added, Client Channel Output Caching.

- February 6, 2010
New documentation
- February 5, 2010 - WcfContrib v2.1 Beta Feb10

A new release was published. It has been tested and it is stable. However, there were some core optimizations so this is considered to be a small test-run to make sure it is alright before tagging it as a stable release.
Please provide feedback, your input is important.

Changes from last version:
  • New Output Caching module for Client Channel (read more). Useful feature, be sure to check it out in the showcases
  • New behavior attributes and extension elements (ActivationContextInitializerAttribute, ActivationContextExtensionBehaviorElement, ErrorContextHandlerExtensionElement)
  • A userful commonly-needed synchronized (thread-safe) dictionary was added: SynchronizedDictionary
  • Internal Optimizations and Mode Fixes. (Sequential channel management option work with asynchronous operations now)
  • ChannelInvokeContext was made an extensible object
  • Client Channel supports default single endpoint - No need to specify an endpoint name of the client channel if there is only one endpoint for the specific contract in the configuration
  • Configuration-less services hosting API improvements
  • When deriving from ClientChannel, you can override OnChannelFactoryCreated (new method) to apply anything you need.
Updated Showcases from last time:
  • Miscellaneous - Configuration Section - A sample of the new Configuration Section
  • ClientChannel - Basic - Simple comment indicating the ApplyBoosting can be set globally through the new configuration section.
  • Services - Hosting - Simple comment indicating the ApplyBoosting can be set globally through the new configuration section.
  • Services - Service Extensions - Simple comment indicating about the new behavior attributes and extension elements you can use to apply the extensions declarative or in configuration.
  • Services - Service Error Logging - An example for attaching the behavior in the configuration using the new extension element was added.
  • Client Channel - Output Caching - A new sample was added demonstrating the basic usage of the output caching

- September 18, 2009 - Small Additions
  • Fixed a bug in the service online checking related methods
  • Extended the service configuration API for configuration-less services to support transaction flow and numerous ports for same protocols

- August 7, 2009 - WcfContrib v2.0.0.0

A new release had been published - August 2009. (See downloads)
New stuff:
  • Client Channel - Closes channels asynchronously after invoking O/W operations (Check out the reference linked to below - WCF OneWay - Abort or Not)
  • Service Extensions - Mocking & Tracing with the ability to trigger from the client side
  • Configuration-less Services
  • Integrated Boosting
  • Enhanced Helpers

Updated Showcases from last time:
  • MetaData - Simple notification that a new method was added to the helper class - you can now check if metadata is available by giving the service address)
  • ClientChannel - Basic - Shows the ApplyBoosting usage on the client channel
  • Services - Hosting - Configuration-less service!
  • Services - Service Extensions - Shows the new mocking and tracing abilities
  • Miscellaneous - Utility Helpers - a simple console which outputs several useful helper classes - such as checking if a service is available and so on.

- May 3, 2009
A new release had been published. (See downloads)
Highlights: XML documentation and Context extensions (Session and Call items, get the showcases and take a look at the "Service Extensions")

- May 1, 2009
A new download was added to the releases - wcfcontrib.apr09.showcases
Download this to view the showcases in a comfortable view. (no need to compile the code that is with a password-protected key file)

- Apr 29, 2009
There was a problem with the released archive with the showcases. (It was corrupted)
It was fixed, please download it again.


It is recommended to check the Documentation page.

What's currently in this Project

  • Services Realm
    • Hosting - Generic Service Host and Factory, there's also a Configuration-less helper module
    • Extensions - Helpers, Activation Context, Call and Session Items (get the showcases and take a look at the "Service Extensions")
    • Error Logging - Enhanced Error Handling API
    • Security - Operation content-based authorization attribute model
  • Client Realm
    • Metadata - Metadata Helper Extensions
    • Client Channel - Client Communication Channels Manager and Infrastructures. Essential Component! (See documentation for more information)
    • Output Caching for Client Channel
  • Useful Helpers and Utilities
    • Endpoint, Binding, Identity, Message, Service, Channel Helpers
    • Synchronized (thread-safe) Dictionary

Future Releases

Following are some of the things planned for the next upcoming releases:
  • Windows Authorization Manager - Configuration based
  • Client Channel - Support for duplex communications

Last edited Jul 3, 2010 at 7:50 PM by zuker, version 41