c# - WCF 4 关闭客户端代理

标签 c# wcf wcf-4

在过去(.net framework 3.5)我们需要小心关闭 WCF 客户端代理。

在 WCF 4 中,Close 在客户端不可用。但它在代理内部可用。

public class ServiceProxy : System.ServiceModel.ClientBase<IService>, ILoginService
{
}

是否不再需要关闭客户端代理?或者我们该怎么做?

最佳答案

WCF Proxy need to be closed explicitly and if you are using the using() statement, you have the possibility of loosing the original exception. You can find details about this issue in the following posts.

发件人:http://geekswithblogs.net/SudheersBlog/archive/2009/09/01/134430.aspx

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/b95b91c7-d498-446c-b38f-ef132989c154 http://geekswithblogs.net/marcel/archive/2007/05/01/112159.aspx

推荐的最佳做法是在客户端使用完代理后始终关闭代理,因为关闭代理会终止与服务的 session 并关闭连接。

或者,您可以使用代理的 Dispose() 方法来关闭它。 Dispose()方法的好处是即使遇到异常也可以使用using语句调用

检查

http://geekswithblogs.net/SoftwareDoneRight/archive/2008/05/23/clean-up-wcf-clients--the-right-way.aspx

http://geekswithblogs.net/bcaraway/archive/2008/07/06/123622.aspx

关于c# - WCF 4 关闭客户端代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4323266/

相关文章:

c# - 使用 XML 或 OOP 技术处理数据的相对处理速度是多少? (即 XProc 或 XSL 与 C# 或 Java)

C#:如何将类属性公开给一个类而不公开给另一个类?

WCF ChannelFactory 没有准确报告故障状态?

.net - wcftestclient - 我可以连接到特定端点吗?

c# - WCF错误: The socket connection was aborted

c# - 使用 WCF 发现跨域发现非 WCF Windows 服务

c# - 如何在 Windows Phone 8.1 上实现证书锁定

c# - 设置参数后作为控制台应用程序执行

.net - 无法启动应用程序 "WcfTestClient.exe"