同一台机器上的WCF服务

Sac*_*nth 3 asp.net-mvc wcf wcf-data-services asp.net-mvc-3

我的 Web 应用程序中有 6 个 WCF Web 服务。

在访问我的 MVC3 站点上的任何页面时,我可能会调用最多 4 个左右的 WCF 服务。

在我的实时环境中(就像在我的所有环境中一样),我将所有 Web 服务托管在同一台计算机上(每个前端服务器都有这些服务)。

我的问题是,我正在处理的网站运行速度非常慢,作为网站性能改进的一部分,我希望减少对这些各种 WCF 服务的所有这些 http 请求的开销。

我的问题是,是否可以以“非 http-overheady”的方式调用这些 Web 服务,因为它们无论如何都位于同一台计算机上?

Min*_*Min 5

选择 WCF 端点绑定的经验法则

  • 如果您需要与 SOAP 1.1 兼容的客户端使用您的服务,请使用 basicHttpBinding 来实现互操作性

  • 如果您需要在公司网络内使用您的服务
    ,请使用 netTCPBinding 来提高性能

  • 如果您需要通过 Internet 使用服务并且客户端与 WCF 兼容,请使用 wsHttpBinding 来获得
    WS* 规范的全部优势

  • 如果您需要只能在同一台计算机上访问您的服务,请使用 netNamedPipeBinding

  • 如果您需要您的服务是队列消息,请使用 netMsmqBinding


  • 如果您需要服务在对等环境中充当服务器和客户端,请使用 netPeerTcpBinding 设置