WCF服务在使用WcfTestClient时抛出超时错误

时间:2012-07-13 19:02:50

标签: wcf web-config wcftestclient

如果我发送的参数会导致大量数据被拉出,我会收到以下错误:

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

我增加了所有的超时时间。在客户端我有什么需要做的吗?我想知道这是因为我使用的是wcftestclient吗?我是否需要调整operationTimeout?

我的webconfig具有以下内容:

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="Basic" sendTimeout="12:00:00" receiveTimeout="12:00:00" openTimeout="00:10:00" closeTimeout="00:10:00"
                 maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
          <readerQuotas maxDepth="128" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="8192"/>          
        </binding>
      </basicHttpBinding>
    </bindings>
    <services>
      <service behaviorConfiguration="CaseStudyBehavior" name="EDTFS.ADMS.CaseStudyService">        
        <endpoint address="" 
                  binding="basicHttpBinding"
                  bindingConfiguration="Basic"                    
                  name="Basic"                    
                  contract="EDTFS.ADMS.ICaseStudyService" />
        <endpoint address="mex" 
                  binding="mexHttpBinding"
                  name="Metadata"
                  contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="CaseStudyBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceTimeouts transactionTimeout="24:00:00"/>
          <serviceThrottling maxConcurrentCalls="100" maxConcurrentInstances="100" maxConcurrentSessions="100"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

1 个答案:

答案 0 :(得分:5)

在WCF测试客户端中,您将在服务下找到名为Config File的节点。右键单击此选项并选择Edit with SvcConfigEditor以增加客户端的超时。