概述
public static class WcfExtensions
{
public static void Using<T>(this T client, Action<T> work)
where T : ICommunicationObject
{
try
{
work(client);
client.Close();
}
catch (CommunicationException e) { client.Abort(); } catch (TimeoutException e)
{
client.Abort();
}
catch (Exception e)
{
client.Abort();
throw;
}
}
}
Then use this instead of the using keyword:
new SomeClient().Using(channel => { channel.Login(username, password); });
Or if you are using ChannelFactory
then:
new ChannelFactory<ISomeService>().Using(channel => {
channel.Login(username, password);
});
Reference: http://www.codeproject.com/Tips/197531/Do-not-use-using-for-WCF-Clients
http://www.codeproject.com/Articles/361660/WCF-Proxy-Manager-Going-Configless
转载于:https://www.cnblogs.com/fery/p/4515683.html
最后
以上就是火星上白羊为你收集整理的WCF ChannelFactory的全部内容,希望文章能够帮你解决WCF ChannelFactory所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复