我正在使用WCF服务并使用VS 2008服务引用创建其代理.
我正在寻找调用WCF服务方法的最佳模式
我使用的是.Net framework 3.5 SP1,basicHttp绑定很少有自定义.
mar*_*c_s 10
这取决于 ;-)
如果您的应用程序中有一个需要多个调用的序列,您可以挂起代理客户端并继续使用它来进行进一步调用.但要注意检查"故障"状态 - 如果服务器上发生错误,客户端代理和服务器之间的通道可能会"故障",从而导致客户端代理无法使用.
此外 - 昂贵的部分是创建ChannelFactory<T>
- 您可以尝试在代码中创建客户端proyx时将这两个步骤分开:
ChannelFactory<IYourService> factory = new ChannelFactory<IYourService>();
Run Code Online (Sandbox Code Playgroud)
继续关注该渠道工厂,例如将其缓存到某个地方
第二步应该在时间和马力方面不那么密集:
IYourService client = factory.CreateChannel();
Run Code Online (Sandbox Code Playgroud)
你可以在每次调用(或调用序列)之前执行此步骤,并且不应该从中获得糟糕的性能.
我强烈建议尽可能避免单身人士 - 这就像打开一堆蠕虫一样,除非你绝对必须这样做,否则不要这样做(例如,管理对一次只能为一个呼叫者提供的单一资源的访问权限).
渣