代码之家  ›  专栏  ›  技术社区  ›  Raj

静态WCF代理类对象

  •  4
  • Raj  · 技术社区  · 14 年前
    1. 我有一个基于NetTCP绑定的WCF应用程序。在客户端应用程序中,我已将其代理类对象创建为static。此客户端应用程序可能在部署后运行4-8小时。基本上在登录窗口,我正在创建和初始化 数据服务客户端 创建代理类的静态对象是否有任何不利影响(性能方面)?如果是的话,那我该怎么避免呢。在使用静态对象之前,我在每个窗口(需要的地方)创建单独的对象,但这增加了窗口加载时间。

    2. 如何提高WCF性能。我对它的表现很满意,但这可能是我的幻觉。

    2 回复  |  直到 14 年前
        1
  •  3
  •   flayn    14 年前
    1. 代理对象进入故障状态后,必须创建一个新的代理对象,无法恢复出现故障的代理对象。

    2. 我发现使用消息头可以减少实际需要公开的方法的数量,但这实际上取决于服务的功能。

        2
  •  1
  •   VinayC    14 年前

    看起来您的客户端是一个Windows窗体应用程序-静态服务代理应该适合您,只要您不在代理上执行任何多线程或回调等操作。实际上,在这种情况下,您需要同步对静态变量的访问。

    一般来说,WCF的性能是可以提高的

    1. 选择合适的绑定-TCP绑定将比HTTP绑定更快,但它将是.NET专有的,并且可能无法在internet上工作,因为其他端口将被阻止。如果您在同一台机器上进行通信,那么命名管道绑定将是最快的模式