在本地调用wcf服务比在不同计算机上调用IIS上托管的wcf服务花费更多的时间

在本地调用wcf服务比在不同计算机上调用IIS上托管的wcf服务花费更多的时间,wcf,iis-7,localhost,castle-windsor,tcpclient,Wcf,Iis 7,Localhost,Castle Windsor,Tcpclient,我在IIS上的服务器端使用WCF服务,使用TCP协议和winforms客户端应用程序调用该服务 我还使用Caslte windsor创建DI和WCF代理 var rpt1 = Windsor.Container.Resolve<IReportService>(); var data = rpt1.GetModules(); var rpt1=Windsor.Container.Resolve(); var data=rpt1.GetModules(); 问题是,当我将托管在IIS

我在IIS上的服务器端使用WCF服务,使用TCP协议和winforms客户端应用程序调用该服务

我还使用Caslte windsor创建DI和WCF代理

var rpt1 = Windsor.Container.Resolve<IReportService>();
var data = rpt1.GetModules();
var rpt1=Windsor.Container.Resolve();
var data=rpt1.GetModules();
问题是,当我将托管在IIS上的服务指向不同的机器(即使是在不同的地理位置)时,返回数据所需的时间非常少

出于测试和开发目的,我创建了一个基于控制台的小型应用程序,在本地托管WCF

我现在面临的问题是,当客户端向本地托管服务器发送请求时,在VS服务器代码库中达到调试点需要30毫秒以上。 这个过程完全是随机的,有时甚至需要4-5分钟

 <bindings>
      <customBinding>
        <binding name="CustomNetTcpBinding" closeTimeout="01:01:00" openTimeout="01:03:00" receiveTimeout="01:10:00" sendTimeout="01:10:00">
          <reliableSession ordered="true" inactivityTimeout="01:10:00" />
          <transactionFlow/>
          <gZipMessageEncoding enableCompression="true" innerMessageEncoding="textMessageEncoding">
            <readerQuotas maxDepth="999999999" maxStringContentLength="999999999" maxArrayLength="999999999" maxBytesPerRead="999999999" maxNameTableCharCount="999999999"/>
          </gZipMessageEncoding>
          <windowsStreamSecurity/>
          <tcpTransport maxReceivedMessageSize="999999999" maxBufferSize="999999999"/>
        </binding>
  </customBinding>
</bindings>

我还更改了maxConnection,如下所示

 <connectionManagement>
      <add maxconnection="200" address="*" />
    </connectionManagement>

我在托管类型(本地和IIS)期间使用相同的配置

谁能告诉我原因是什么,或者我遗漏了什么


提前感谢。

在WCFService web.config中,是否将编译调试设置为true?是。。。否则我将无法调试服务。。。那么,在本地调试它们就不会降低性能。参考是。。。我明白。。。但问题是,有时我从客户机到WCF服务的请求需要5-10分钟才能到达,这使得调试WCF服务的任何问题几乎不可能。有什么解决办法吗。