WCF ChannelFactory
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												
											WCF ChannelFactory的更多相关文章
- WCF ChannelFactory<T> WCF Channel and ChannelFactory Caching
		https://stackoverflow.com/questions/3200197/creating-wcf-channelfactoryt?rq=1 https://stackoverflow. ... 
- WCF初探-10:WCF客户端调用服务
		创建WCF 服务客户端应用程序需要执行下列步骤: 获取服务终结点的服务协定.绑定以及地址信息 使用该信息创建 WCF 客户端 调用操作 关闭该 WCF 客户端对象 WCF客户端调用服务存在以下特点: ... 
- [老老实实学WCF] 第四篇 初探通信--ChannelFactory
		老老实实学WCF 第四篇 初探通信--ChannelFactory 通过前几篇的学习,我们简单了解了WCF的服务端-客户端模型,可以建立一个简单的WCF通信程序,并且可以把我们的服务寄宿在IIS中了. ... 
- (转)[老老实实学WCF] 第四篇 初探通信--ChannelFactory
		第四篇 初探通信--ChannelFactory 通过前几篇的学习,我们简单了解了WCF的服务端-客户端模型,可以建立一个简单的WCF通信程序,并且可以把我们的服务寄宿在IIS中了.我们不禁感叹WCF ... 
- WCF技术剖析之八:ClientBase<T>中对ChannelFactory<T>的缓存机制
		原文:WCF技术剖析之八:ClientBase<T>中对ChannelFactory<T>的缓存机制 和传统的分布式远程调用一样,WCF的服务调用借助于服务代理(Service ... 
- WCF学习之旅—第三个示例之四(三十)
		上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ... 
- 【WCF】使用“用户名/密码”验证的合理方法
		我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ... 
- 【WCF】错误协定声明
		在上一篇烂文中,老周给大伙伴们介绍了 IErrorHandler 接口的使用,今天,老周补充一个错误处理的知识点——错误协定. 错误协定与IErrorHandler接口不同,大伙伴们应该记得,上回我们 ... 
- 【WCF】自定义错误处理(IErrorHandler接口的用法)
		当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ... 
随机推荐
- SQL有意思的面试题
			1.中软国际 SQL行转列 变成 --数据准备create table t_test( year int, month int, sale int, primary key (year, mon ... 
- Dock镜像初探索
			一.安装CentOS版DockerCE 1.1 卸载旧的版本 yum remove docker \ docker-client \ docker-client-latest \ docker-com ... 
- idea2018.1.5永久破解过程
			可以根据官网推荐注册idea:http://idea.lanyus.com/ 步骤如下:1 下载破解(crack) jar 包 链接:https://pan.baidu.com/s/1-COPHVJi ... 
- Leetcode106. Construct Binary Tree from Inorder and Postorder Traversal中序后续构造二叉树
			根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15, ... 
- js校验文本框只能输入数字(包括小数)
			form表单 <form method="POST" action=""> <input type="text" id=& ... 
- BZOJ 4554: [Tjoi2016&Heoi2016]游戏
			Time Limit: 20 Sec Memory Limit: 128 MB Submit: 951 Solved: 572 [Submit][Status][Discuss] Descriptio ... 
- sublime中用less实现css预编译
			实现css预编译的方式有很多,听说glup很流行而且功能也很强大,但是就目前的工作而言,仅要css预编译和YUIcompress就够了,接下来切入正题 Less 是一门 CSS 预处理语言,它扩展了 ... 
- java -cp ../../DESUtil/ Hello,用-cp指定classpath
			运行hello.class 文件 怎么用 java +路径 就是不在class目录下运行 怎么做??? 我想要的是 java 直接去运行某个路径下的class文件 不想到它的目录那里再java hel ... 
- spring cloud深入学习(三)-----服务消费
			在上一篇博文中简单实现了eureka-server以及eureka-provider,后面会实现eureka-cosumer,现在针对eureka做进一步的详解. 微服务整体架构 文字再美也没有图片直 ... 
- 华为 Mate8 Emui 5.0 安卓 7.0 root 记录
			步骤: 0.备份手机全部资料 1.华为官网申请解锁码 (unlock password) http://emui.huawei.com/plugin/hwdownload/download 2.关闭手 ... 
