繁体   English   中英

WCF服务抛出:收到HTTP响应时发生错误

[英]WCF Service throw : An error occurred while receiving the HTTP response

我有WCF服务,我将其托管在本地服务器(本地计算机)中,但工作正常,但是当我当时将其托管在服务器(互联网)中时,它抛出的错误低于错误

收到对http://www.xxxxxxxx.com/Services/WCFService.svc的HTTP响应时发生错误。 这可能是由于服务端点绑定未使用HTTP协议。 这也可能是由于服务器终止了HTTP请求上下文(可能是由于服务关闭了)。 有关更多详细信息,请参见服务器日志。

此WCF服务用于上载pdf文件,并根据上载的pdf文件进行操作。

当我上载pdf文件时,该问题出现了,并且该文件有更多页面(大约超过500页),这会花费更多的执行时间(大约6至8分钟),从而出现问题。

如果我上载具有100页,200页,300页的pdf文件,那么效果很好。

注意:所有pdf文件的大小均小于5 MB。

处理可能会花费太多时间,并且客户端会在继续之前超时

<bindings>
  <basicHttpBinding>
    <binding name="IncreasedTimeout"
             sendTimeout="24:00:00">
    </binding>
  </basicHttpBinding>
</bindings>

由于将文件上传到本地主机是即时的-此超时将服务器处理和上传到服务器都考虑在内。

Yoy需要为WCF webhttp设置最大消息大小和缓冲区大小

<bindings>
  <webHttpBinding>
    <binding name="LargeWebBinding"
             maxBufferPoolSize="2147483647"
             maxReceivedMessageSize="2147483647"
             maxBufferSize="2147483647">
      <readerQuotas 
             maxArrayLength="2147483647" 
             maxNameTableCharCount="2147483647"
             maxStringContentLength="2147483647"
             maxDepth="2147483647"
             maxBytesPerRead="2147483647" />
    </binding>

您可以尝试使用此方法:

<behaviors>
  <serviceBehaviors>
    <behavior name="LargeWebBehavior">
      <dataContractSerializer ignoreExtensionDataObject="true" maxItemsInObjectGraph="2147483647" />
      <serviceDebug includeExceptionDetailInFaults="true" />
      <serviceTimeouts transactionTimeout="00:10:00" />
      <serviceThrottling maxConcurrentCalls="200" maxConcurrentSessions="100"
        maxConcurrentInstances="100" />
    </behavior>
  </serviceBehaviors>
</behaviors>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM