WCF命名管道:PerMission-Single或Singleton-Multiple

时间:2011-03-03 00:29:49

标签: wcf performance concurrency netnamedpipebinding

我正在构建Web应用程序(在此上下文中是客户端),它通过namedpipe wcf服务(WCF 4)与不同的进程(在此上下文中为服务器)进行通信。

在阅读了很多文章之后,我正在考虑创建一个连接到服务器的代理池(我已经阅读它提供了更好的性能),用于roundrobin。

每次调用都会很短,在服务器上我需要在几个对象上读取和写入简单的属性,但这些对象是共享的,所以我必须在任何情况下使用锁。 我期望很高的并发性。

由于池的存在,客户端将始终使用服务器打开N会话。

我想知道PerSession-Single或SingleInstance-Multiple之间InstanceContext-ConcurrencyMode的最佳设置是什么。

谢谢

1 个答案:

答案 0 :(得分:0)

我的观点:不要使用自定义代理池。使用内置pooling of connections。您无法在预定义的绑定中完全控制connectionPooling,但在使用namedPipeTransport时您可以在customBinding中完全控制。

从客户端的实现角度来看 - 为每个客户端的请求使用新代理。不要在请求之间共享代理。