何时关闭WCF客户端?

Ste*_*ice 18 c# silverlight wcf

我已将WCF服务的客户端代理实例放入App类的属性中,以便我可以从应用程序的任何位置获取它.

我没有关闭客户端,我在应用程序期间将其保持打开状态.这样做的主要原因是,如果我在WCF服务mex页面(如果你将浏览器指向WCF服务网址时得到的那个)中按//注释,则表示//始终关闭客户端.client.Close();

这很好,除非我在调用client.SomeAsync()方法之后立即调用client.Close(),然后在结果返回之前关闭它.我应该接近Completed()方法吗?或者我应该忘记关闭它,因为一旦关闭它我必须创建客户端代理的新实例(如果是这种情况,也可以不将它存储在App.property中.

谢谢,斯蒂芬

Fun*_*ung 12

你应该按照建议关闭它.是的,如果您使用的是异步方法,则必须在调用完成后关闭它.

创建(打开)和关闭客户端是WCF客户端的标准.持续创建和关闭新客户端没有明显的性能损失.