I\'m attempting to extend this answer on SO to make a WCF client retry on transient network failures and handle other situations that require a retry such as authentication
I started a project on Codeplex that has the following features
http://smartwcfclient.codeplex.com/
It is a work in progress, and is very heavily commented. I'll appreciate any feedback regarding improving it.
Sample usage when in instance mode:
var reusableSW = new LC.Utils.WCF.ServiceWrapper(channelFactory);
reusableSW.Reuse(client =>
{
client.CheckIn(count.ToString());
});
reusableSW.Dispose();