WCF 4关闭客户端代理

时间:2010-12-01 10:18:06

标签: c# wcf wcf-4

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

在WCF 4中,客户端无法使用“关闭”。但它可以在代理中使用。

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

是否不再需要关闭客户端代理?或者我们如何做?

1 个答案:

答案 0 :(得分:2)

  

需要显式关闭WCF代理,如果使用using()语句,则可能会丢失原始异常。   您可以在以下帖子中找到有关此问题的详细信息。

来自: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

建议的最佳做法是在客户端使用代理时始终关闭代理,因为关闭代理会终止与服务的会话并关闭连接。

或者,您可以使用代理的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