【问题标题】:WCF NamedPipe: PerSession-Single or Singleton-MultipleWCF NamedPipe:PerSession-Single 或 Singleton-Multiple
【发布时间】:2011-03-03 00:29:49
【问题描述】:

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

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

每次调用都非常短,在服务器上我需要读取和写入少数对象的简单属性,但这些对象是共享的,所以无论如何我都必须使用锁。 我期望非常高的并发性。

由于池,客户端将始终与服务器打开 N 个会话。

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

谢谢

【问题讨论】:

    标签: wcf performance concurrency netnamedpipebinding


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,我不知道有内置游泳池,我几乎肯定读过没有。这将为我节省一些开发时间和麻烦。您认为使用单实例多线程服务会更好吗?
    • 根据您的描述,我认为您可以使用具有多种并发模式的单例实例。无论如何,您将不得不处理锁。
    猜你喜欢
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多