【问题标题】:Keep WCF connection open, or open on every call保持 WCF 连接打开,或在每次调用时打开
【发布时间】:2014-07-26 13:42:56
【问题描述】:

在客户端 PC 上进行客户端/服务器通信的良好做法是什么。我的应用程序将某些内容“记录”到 wcf 服务器。我的服务器可以在 LAN 上本地运行,也可以在 Internet 上的某个地方运行(服务器端的端口转发等)。

开销并不是我真正关心的问题,因为我记录的数据量很少,但我会经常记录它……假设每 10 秒左右一次。

我是实例化我的 WCF 对象一次(在应用启动时从客户端连接到服务器),还是每 10 秒实例化一个新的 wcf 连接(wcf 派生调用)。

什么被认为是好的做法。我关心的是对客户资源应用适当的礼仪。

有什么好的阅读材料可以指点我吗?

【问题讨论】:

    标签: wcf tcp resources client-server


    【解决方案1】:

    所有 WCF 大师,如 Michele Leroux Bustamante(Learning WCF - A Hand's On Guide 的作者)和 Juval Löwy(高级Programming WCF Services 的作者)所宣扬的最佳实践是使用每次调用激活:每个请求都创建自己的服务类实例,处理请求,并在调用后再次丢弃服务实例。

    这是迄今为止最具可扩展性的方案。

    所有其他场景(每个会话、使用多线程服务类或使用单例)对整体系统性能有重大影响,或者它们会导致更复杂的编程体验(多线程安全服务类)。

    除非您有非常有说服力的理由进行其他设置,否则我建议您使用每次调用 WCF 服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-14
      相关资源
      最近更新 更多