【问题标题】:Channel time out error when trying to invoke a webservice尝试调用 Web 服务时出现通道超时错误
【发布时间】:2011-06-23 15:05:35
【问题描述】:

我在调用时遇到了这个错误

请求通道在 00:00:59.9970702 之后等待回复时超时。增加传递给 Request 调用的超时值或增加 Binding 上的 SendTimeout 值。分配给此操作的时间可能是较长超时的一部分。

我在 SO 中看到过这个 WCF stops responding after about 10 or so calls (throttling)

但我不知道我必须在哪里实现这个..无论是在我的 webconfig 文件还是 webservice 配置文件中..有什么建议吗?

编辑(1):

这是我的网络配置文件

<system.serviceModel>
                <bindings>
            <basicHttpBinding>
                <binding name="BinaryCertTokenOverSSL" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="TransportWithMessageCredential">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="Certificate" algorithmSuite="Default" />
                    </security>
                </binding>
                <binding name="UserNameTokenOverSSLBinding" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="TransportWithMessageCredential">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
            <wsHttpBinding>
                <binding name="WSBinaryCertReliable" closeTimeout="00:01:00"
                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                    bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                    allowCookies="false">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
                        enabled="true" />
                    <security mode="Message">
                        <transport clientCredentialType="Windows" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="Certificate" negotiateServiceCredential="false"
                            algorithmSuite="Default" establishSecurityContext="true" />
                    </security>
                </binding>
                <binding name="WSUserNameReliable" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
                    transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                    allowCookies="false">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
                        enabled="true" />
                    <security mode="Message">
                        <transport clientCredentialType="Windows" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" negotiateServiceCredential="false"
                            algorithmSuite="Default" establishSecurityContext="true" />
                    </security>
                </binding>
                <binding name="WSBinaryCert" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
                    transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                    allowCookies="false">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
                        enabled="false" />
                    <security mode="Message">
                        <transport clientCredentialType="Windows" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="Certificate" negotiateServiceCredential="false"
                            algorithmSuite="Default" establishSecurityContext="false" />
                    </security>
                </binding>
                <binding name="WSUserName" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
                    transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                    allowCookies="false">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
                        enabled="false" />
                    <security mode="Message">
                        <transport clientCredentialType="Windows" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" negotiateServiceCredential="false"
                            algorithmSuite="Default" establishSecurityContext="false" />
                    </security>
                </binding>
            </wsHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://XXXvm134.rsimail.rsil.XXX.com/VWWebservice/VWSecurityServices.svc/WsBinaryCertReliable"
                binding="wsHttpBinding" bindingConfiguration="WSBinaryCertReliable"
                contract="IVWSecurityServices" name="WSBinaryCertReliable">
                <identity>
                    <certificate encodedValue="AwAAAAEAAAAUAAAAch9c8R+87NcfIPn0imYdQaHEFp8gAAAAAQAAAFcCAAAwggJTMIIBvKADAgECAhA3Zx4Bjx6gs0Cu4C0/9OpuMA0GCSqGSIb3DQEBBAUAMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbTAeFw05OTEyMzExODMwMDBaFw0xNDEyMzExODMwMDBaMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtcad6zbauhN5mo54MDt4JAuTtU0MIOuhXhsUGIGYkZ4+mhav3oCRiALzQWLfmm6jQZAsW8LXE/p1UZLfenaHRWTcDxZ0Qvuow51NU4r30Fr7U+XQCQNytaVHI/aYk2CreaOoPzlMxrFjw33yShBi9LXsM7FQZL3sAWFro2/A74sCAwEAAaN2MHQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwXQYDVR0BBFYwVIAQI72gtckgLr+CwMqK5vo11qEuMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbYIQN2ceAY8eoLNAruAtP/TqbjANBgkqhkiG9w0BAQQFAAOBgQAYUlt7PX01iokgi8jW96tdBiaJIb7XBt9DgUPqAhunbSrPq/sNaIy+hLBJ7W174Ozh0r/cJp18WoCD8S0IbBvvs3aSaCoBPAa+Rb2OSx21QgEpZ5+flxaXK9HxY0WmmTXRqsgR4bplZ5F1RFX9x6Px+yyQzu+IBPpwcL8JSs+pvA==" />
                </identity>
            </endpoint>
            <endpoint address="https://XXXvm134.rsimail.rsil.XXX.com/VWWebservice/VWSecurityServices.svc/BinaryCertTokenOverSSL"
                binding="basicHttpBinding" bindingConfiguration="BinaryCertTokenOverSSL"
                contract="IVWSecurityServices" name="BinaryCertTokenOverSSL" />
            <endpoint address="http://XXXvm134.rsimail.rsil.XXX.com/VWWebservice/VWSecurityServices.svc/WSUserNameReliable"
                binding="wsHttpBinding" bindingConfiguration="WSUserNameReliable"
                contract="IVWSecurityServices" name="WSUserNameReliable">
                <identity>
                    <certificate encodedValue="AwAAAAEAAAAUAAAAch9c8R+87NcfIPn0imYdQaHEFp8gAAAAAQAAAFcCAAAwggJTMIIBvKADAgECAhA3Zx4Bjx6gs0Cu4C0/9OpuMA0GCSqGSIb3DQEBBAUAMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbTAeFw05OTEyMzExODMwMDBaFw0xNDEyMzExODMwMDBaMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtcad6zbauhN5mo54MDt4JAuTtU0MIOuhXhsUGIGYkZ4+mhav3oCRiALzQWLfmm6jQZAsW8LXE/p1UZLfenaHRWTcDxZ0Qvuow51NU4r30Fr7U+XQCQNytaVHI/aYk2CreaOoPzlMxrFjw33yShBi9LXsM7FQZL3sAWFro2/A74sCAwEAAaN2MHQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwXQYDVR0BBFYwVIAQI72gtckgLr+CwMqK5vo11qEuMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbYIQN2ceAY8eoLNAruAtP/TqbjANBgkqhkiG9w0BAQQFAAOBgQAYUlt7PX01iokgi8jW96tdBiaJIb7XBt9DgUPqAhunbSrPq/sNaIy+hLBJ7W174Ozh0r/cJp18WoCD8S0IbBvvs3aSaCoBPAa+Rb2OSx21QgEpZ5+flxaXK9HxY0WmmTXRqsgR4bplZ5F1RFX9x6Px+yyQzu+IBPpwcL8JSs+pvA==" />
                </identity>
            </endpoint>
            <endpoint address="http://XXXvm134.rsimail.rsil.XXX.com/VWWebservice/VWSecurityServices.svc/WSBinaryCert"
                binding="wsHttpBinding" bindingConfiguration="WSBinaryCert"
                contract="IVWSecurityServices" name="WSBinaryCert">
                <identity>
                    <certificate encodedValue="AwAAAAEAAAAUAAAAch9c8R+87NcfIPn0imYdQaHEFp8gAAAAAQAAAFcCAAAwggJTMIIBvKADAgECAhA3Zx4Bjx6gs0Cu4C0/9OpuMA0GCSqGSIb3DQEBBAUAMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbTAeFw05OTEyMzExODMwMDBaFw0xNDEyMzExODMwMDBaMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtcad6zbauhN5mo54MDt4JAuTtU0MIOuhXhsUGIGYkZ4+mhav3oCRiALzQWLfmm6jQZAsW8LXE/p1UZLfenaHRWTcDxZ0Qvuow51NU4r30Fr7U+XQCQNytaVHI/aYk2CreaOoPzlMxrFjw33yShBi9LXsM7FQZL3sAWFro2/A74sCAwEAAaN2MHQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwXQYDVR0BBFYwVIAQI72gtckgLr+CwMqK5vo11qEuMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbYIQN2ceAY8eoLNAruAtP/TqbjANBgkqhkiG9w0BAQQFAAOBgQAYUlt7PX01iokgi8jW96tdBiaJIb7XBt9DgUPqAhunbSrPq/sNaIy+hLBJ7W174Ozh0r/cJp18WoCD8S0IbBvvs3aSaCoBPAa+Rb2OSx21QgEpZ5+flxaXK9HxY0WmmTXRqsgR4bplZ5F1RFX9x6Px+yyQzu+IBPpwcL8JSs+pvA==" />
                </identity>
            </endpoint>
            <endpoint address="http://XXXvm134.rsimail.rsil.XXX.com/VWWebservice/VWSecurityServices.svc/WSUserName"
                binding="wsHttpBinding" bindingConfiguration="WSUserName"
                contract="IVWSecurityServices" name="WSUserName">
                <identity>
                    <certificate encodedValue="AwAAAAEAAAAUAAAAch9c8R+87NcfIPn0imYdQaHEFp8gAAAAAQAAAFcCAAAwggJTMIIBvKADAgECAhA3Zx4Bjx6gs0Cu4C0/9OpuMA0GCSqGSIb3DQEBBAUAMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbTAeFw05OTEyMzExODMwMDBaFw0xNDEyMzExODMwMDBaMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtcad6zbauhN5mo54MDt4JAuTtU0MIOuhXhsUGIGYkZ4+mhav3oCRiALzQWLfmm6jQZAsW8LXE/p1UZLfenaHRWTcDxZ0Qvuow51NU4r30Fr7U+XQCQNytaVHI/aYk2CreaOoPzlMxrFjw33yShBi9LXsM7FQZL3sAWFro2/A74sCAwEAAaN2MHQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwXQYDVR0BBFYwVIAQI72gtckgLr+CwMqK5vo11qEuMCwxKjAoBgNVBAMTIXJhbWNvdm0xMzQucnNpbWFpbC5yc2lsLnJhbWNvLmNvbYIQN2ceAY8eoLNAruAtP/TqbjANBgkqhkiG9w0BAQQFAAOBgQAYUlt7PX01iokgi8jW96tdBiaJIb7XBt9DgUPqAhunbSrPq/sNaIy+hLBJ7W174Ozh0r/cJp18WoCD8S0IbBvvs3aSaCoBPAa+Rb2OSx21QgEpZ5+flxaXK9HxY0WmmTXRqsgR4bplZ5F1RFX9x6Px+yyQzu+IBPpwcL8JSs+pvA==" />
                </identity>
            </endpoint>
            <endpoint address="https://XXXvm134.rsimail.rsil.XXX.com/VWWebservice/VWSecurityServices.svc/UserNameTokenOverSSL"
                binding="basicHttpBinding" bindingConfiguration="UserNameTokenOverSSLBinding"
                contract="IVWSecurityServices" name="UserNameTokenOverSSLBinding" />
        </client>
    </system.serviceModel>

这是我的网络服务配置文件

<system.serviceModel>
    <extensions>
      <bindingElementExtensions>
        <add name="sslOffloadedHttpsTransport" type="XXX.VW.Web.Services.CustomBinding.SSLOffloadedHttpsTransportElement, XXX.VW.RT.WebServices.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />
      </bindingElementExtensions>
    </extensions>
    <behaviors>
      <serviceBehaviors>
      <behavior name="e-ServiceBehavior">
          <serviceCredentials>
            <clientCertificate>
              <authentication certificateValidationMode="None" revocationMode="Online" />
            </clientCertificate>
            <serviceCertificate findValue="XXXvm134.rsimail.rsil.XXX.com" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" />
            <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="XXX.VW.RT.VWCustomUserValidator,XXX.VW.RT.Library" />
          </serviceCredentials>
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
          <serviceAuthorization principalPermissionMode="None" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="UserNameTokenOverSSLBinding">
          <security mode="TransportWithMessageCredential" />
        </binding>
        <binding name="BinaryCertTokenOverSSLBinding" closeTimeout="00:10:00" openTimeout="00:10:00" sendTimeout="00:10:00">
          <security mode="TransportWithMessageCredential">
            <message clientCredentialType="Certificate" />
          </security>
        </binding>
         <binding name="Vw30BasicHttpBinding" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" maxBufferSize="65536" maxReceivedMessageSize="65536">
          <security>
            <transport clientCredentialType="None" />
            <message clientCredentialType="UserName" />
          </security>
        </binding>
      </basicHttpBinding>
      <customBinding>
          <binding name="Vw30netTcpHABinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:01:00" sendTimeout="00:01:00">
            <binaryMessageEncoding>
            <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
            </binaryMessageEncoding>
            <tcpTransport maxBufferPoolSize="524288" maxReceivedMessageSize="99999998" connectionBufferSize="8192" hostNameComparisonMode="StrongWildcard" channelInitializationTimeout="00:01:00" maxBufferSize="99999998" maxPendingConnections="20" maxOutputDelay="00:00:00.2000000" maxPendingAccepts="5" transferMode="Buffered" listenBacklog="20" portSharingEnabled="false" teredoEnabled="false">
            <connectionPoolSettings groupName="default" leaseTimeout="00:00:02" idleTimeout="00:02:00" maxOutboundConnectionsPerEndpoint="20" />
            </tcpTransport>
            </binding>
            <binding name="Vw30HttpHABinding">
            <textMessageEncoding />
            <httpTransport keepAliveEnabled="false">
            </httpTransport>
        </binding> 

        <binding name="UserNameTokenOverSSLOffloaderBinding">
          <textMessageEncoding messageVersion="Soap11" />
          <security authenticationMode="UserNameOverTransport">
            <secureConversationBootstrap />
          </security>
          <sslOffloadedHttpsTransport />
        </binding>
        <binding name="BinaryCertTokenOverSSLOffloaderBinding">
          <textMessageEncoding messageVersion="Soap11" />
          <security authenticationMode="UserNameOverTransport">
            <secureConversationBootstrap />
          </security>
          <sslOffloadedHttpsTransport />
        </binding>
      </customBinding>
      <netTcpBinding>
        <binding name="Vw30netTcpBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:01:00" sendTimeout="00:01:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
          <security mode="None">
            <transport clientCredentialType="None" protectionLevel="None" />
            <message clientCredentialType="None" />
          </security>
        </binding>
      </netTcpBinding>
      <wsHttpBinding>
        <binding name="WSUserNameBinding" transactionFlow="true">
          <security>
            <transport clientCredentialType="None" />
            <message clientCredentialType="UserName" negotiateServiceCredential="false" establishSecurityContext="false" />
          </security>
        </binding>
        <binding name="WSBinaryCertBinding" transactionFlow="true">
          <security>
            <transport clientCredentialType="None" />
            <message clientCredentialType="Certificate" negotiateServiceCredential="false" establishSecurityContext="false" />
          </security>
        </binding>
        <binding name="WSUserNameReliableBinding" closeTimeout="00:10:00" openTimeout="00:10:00" sendTimeout="00:10:00" transactionFlow="true">
          <reliableSession enabled="true" />
          <security>
            <transport clientCredentialType="None" />
            <message clientCredentialType="UserName" negotiateServiceCredential="false" />
          </security>
        </binding>
        <binding name="WsBinaryCertReliableBinding" transactionFlow="true">
          <reliableSession enabled="true" />
          <security>
            <transport clientCredentialType="None" />
            <message clientCredentialType="Certificate" negotiateServiceCredential="false" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <services configSource="Web.Services.config" />    
    <!--Should be uncommented when webservices are consumed through SSL Offloaders, and the application pool should be set to use .NET framework 4.0. -->
    <!--<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/> -->
  </system.serviceModel>    

【问题讨论】:

  • 请分享您的服务及其客户端的相关配置位。
  • 在上面的配置中,哪个服务给你带来了问题?
  • 我不知道那个..我是 web 服务的新手
  • 然后你需要调试看看当错误发生时哪个服务被调用了。
  • 在 webservice studio 中调用时出现此错误..但在此之前我已经多次使用此代码它会给出此错误..现在每次调用时都会给出...不知道为什么

标签: c# wcf web-services


【解决方案1】:

这通常归结为会话和限制

在 .NET 4 之前,默认的最大并发会话数为 10。这意味着第 11 个并发会话会等待其他会话中的一个离开,最终会遇到客户端发送超时(默认为 1 分钟)

在 .NET 4 之后,默认值为 100 x 处理器(核心)数量,因此被命中的可能性要小得多

您有 3 个选项:

  1. 增加会话限制http://www.codegain.com/articles/wcf/security/wcf-service-throttling-behavior.aspx
  2. 更快地关闭现有会话(确保您及时在代理上调用 Close)
  3. 增加客户端的发送超时时间

【讨论】:

  • 会话保持活动状态,直到客户端关闭其代理或服务通过接收超时使会话超时。如果客户端关闭他们的代理,那么它将允许另一个会话在不增加油门的情况下启动
【解决方案2】:

一般建议,因为很难判断是哪个服务导致了您的错误:

确保您的超时值在服务和客户端的配置中匹配。

对于刚接触 Web 服务的人来说,这是一个非常常见的问题。如果增加一个值,通常最好增加另一端的匹配值。

因此,请确保服务和客户端上的所有超时值都与您的所有绑定行为匹配,然后再试一次。

如果这不起作用,请尝试通过添加零来增加所有值并试一试。如果可行,则开始减少超时,直到找到导致问题的原因,然后进行调整。

要解决这个问题还有很长的路要走,但是由于您不知道是哪个服务导致了问题,所以这可能是您最好的选择。

【讨论】:

  • 所有超时都是不对称的,在客户端和服务之间意味着不同的事情。客户端中的 sendTimeout 是他们等待响应的时间。如果客户端进行双工消息传递,客户端中的 receiveTimeout 很重要。服务中的 sendTimeout 很重要,如果它们依次调用其他服务,并且 receiveTimeout 确定服务在决定客户端离开进行基于会话的对话之前将等待多长时间。因此,人们正确使用超时而不是仅仅复制它们真的更好
  • 我大体上同意,但在这种情况下,他是 WCF 的新手并且不知道他的问题出在哪里,这是一种让事情正常进行的潜在方法。这是一种漫不经心的方法,但我以前见过它有效。
  • 有疑问..我有一个 webservice..如何检查我的 webservice 是 asp.net webservice 还是 wcf webservice?
  • 服务的地址是什么?如果它以 .asmx 结尾,则它是一个 ASP.Net Web 服务。如果它以 .svc 结尾,则它是 WCF。这有帮助吗?
【解决方案3】:

可能是你调用服务后没有关闭对象。

示例:

WCFServices.Module1 objWCFServ=new WCFServices.Module1(); 数据集 ds=obj.MethodName(param1,param2); ... ....

objWCFServ.Close(); objWCFServ=null;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 2017-11-22
    相关资源
    最近更新 更多