[英]WCF client proxy initialization
我正在使用 WCF 服务并使用 VS 2008 服务参考创建其代理。
我正在寻找调用 WCF 服务方法的最佳模式
我正在使用 .Net framework 3.5 SP1, basicHttp
绑定,几乎没有定制。
这取决于 ;-)
如果您的应用程序中有一个序列需要一个接一个地进行多次调用,您可以继续使用代理客户端并继续使用它进行进一步调用。 但请注意检查“故障”状态 - 如果服务器上发生错误,则客户端代理和服务器之间的通道可能会“出错”,因此您的客户端代理将无法使用。
此外 - 昂贵的部分是ChannelFactory<T>
的创建 - 当您在代码中创建客户端 proyx 时,您可以尝试将这两个步骤分开:
ChannelFactory<IYourService> factory = new ChannelFactory<IYourService>();
坚持那个频道工厂,例如将其缓存在某处
就时间和马力而言,第二步应该不那么密集:
IYourService client = factory.CreateChannel();
您可以在每次调用(或调用序列)之前执行此步骤,并且不应该因此而获得糟糕的性能,真的。
我强烈建议尽可能避免单例 - 这就像打开一罐蠕虫,除非您绝对必须,否则不要这样做(例如,管理对一次仅对一个调用者可用的单个资源的访问权限)。
马克
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.