什么时候关闭WCF客户端?我已将WCF服务的客户端代理实例放入App类的属性中,以便我可以从应用程序的任何位置获取它。我没有关闭客户端,我在申请期间一直保持打开状态。这样做的主要原因是,如果我在WCF服务mex页面中按//注释(如果将浏览器指向WCF服务url,就会得到),它会说//总是关闭客户端。客户端.Close();这很好,除非我在调用client.SomeAsync()方法后立即调用client.Close(),然后在返回结果之前关闭。我应该接近Completed()方法吗?或者我应该忘记关闭它,因为一旦我关闭它,我必须创建一个新的客户端代理实例(如果是这种情况,也可以不将它存储在App.property中。谢谢斯蒂芬,你应该关闭它按照建议。是的,如果您使用的是异步方法,则必须在调用完成后将其关闭。创建(打开)和关闭客户端是WCF客户端的标准操作。持续创建和关闭新客户端不会造成明显的性能损失客户端。最好在Completed方法的finally{}中明确关闭它。如果客户端出于某种原因保持连接,您将开始阻止其他客户端调用。根据HTTPRFC:1999年定义(RFC2616)“使用持久连接客户端应该限制它们与给定服务器保持的同时连接数。单用户客户端不应与任何服务器或代理保持超过2个连接。代理最多应使用2*N连接到另一个服务器或代理,其中N是同时活跃用户的数量。这些指南旨在改善HTTP响应时间并避免拥塞。随着开发人员使用AJAX或类似AJAX的请求来更新网页,人们越来越多地讨论http限制。如果您没有关闭连接,那么您很可能会开始阻塞。我当然假设这是HttpBinding以上就是C#学习教程的全部内容:什么时候关闭WCF客户端?分享一下,如果对大家有用需要详细了解C#学习教程,希望大家会多多关注~本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,转载请注明出处:
