我编写了一个WCF服务,具有一些常规功能(添加用户、删除、搜索、更新.)。此功能的实现在实体框架中(使用sql )。
现在我想在客户端使用它。我有一些基本问题:
我应该为我的wcf服务的所有应用程序创建一个实例吗?还是每次调用方法之前都要创建一个新实例?(如上例所示)。
非常感谢!
发布于 2013-09-23 13:14:47
(I)您可以为服务创建一个实例一次,并在需要进行方法调用时使用同一个客户端。如果您正在中止或关闭连接,则每次都需要创建。
(Ii)最好在每种方法中使用try catch方法,这样就很容易关闭连接并识别异常。
发布于 2013-09-23 14:12:47
在许多情况下,您希望重用同一个客户端代理,因为此连接方法获得最佳性能。如果使用安全特性,则重用相同的代理可能特别有益,因为这些特性具有较高的初始安全协商成本。注意:在使用之前,您肯定需要检查客户端代理的状态。
如果重用同一个客户端代理不是一个选项,那么请考虑使用使用缓存的ChannelFactory代理。
下面的链接提供了一个很好的解释以及最佳实践建议:http://blogs.msdn.com/b/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx
https://stackoverflow.com/questions/18960145
复制相似问题