为什么WCF TransportReceive和ServiceLevelReceiveReply之间有很长的延迟?

时间:2014-03-21 18:27:25

标签: c# web-services wcf

我有两个环境运行相同的WCF Web服务,但其中一个似乎有3-5分钟的延迟返回XML数据。减速似乎与返回的数据大小有关。 Web服务只是从数据库中检索XML字符串,因此处理时间是恒定的。

端点绑定对于两者都是相同的,但我想知道还有什么会导致延迟。

我运行了跟踪,它显示TransportReceive在两个环境中同时发生,但在延迟的环境中,ServiceLevelReceiveReply在3-5分钟后发生。

知道是什么原因引起的吗?我很乐意提供尽可能多的数据。

trace log

enter image description here

以下是使用的两个绑定。 MyPolicySoap用于获取XML。

<basicHttpBinding>
      <binding name="MyPolicySoap" closeTimeout="00:11:00" openTimeout="00:11:00" receiveTimeout="00:10:00" sendTimeout="00:11:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="5000000" maxBufferPoolSize="524288" maxReceivedMessageSize="5000000" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
         <readerQuotas maxDepth="32" maxStringContentLength="5000000" maxArrayLength="16384" maxBytesPerRead="5000000" maxNameTableCharCount="16384"/>
      <security mode="None">
            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
</basicHttpBinding>

<wsHttpBinding>
      <binding name="MyConfig" maxReceivedMessageSize="2147483647">
         <readerQuotas maxStringContentLength="2147483647"/>
         <security mode="None">
            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""><!--<extendedProtectionPolicy policyEnforcement="Never" />--></transport>
            <message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true"/>
      </security>
    </binding>
</wshttpbinding>

0 个答案:

没有答案