C# WCF服务抛出:接收HTTP响应时出错
我有WCF服务,我把它放在我的本地服务器(本地机器)上,它工作正常,但当我把它放在服务器(互联网)上时,它会抛出下面的错误 接收对的HTTP响应时出错。这可能是由于服务端点绑定未使用HTTP协议造成的。这也可能是由于服务器中止了HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志 此WCF服务用于上传pdf文件,并根据上传的pdf文件进行操作 问题发生在我上传pdf文件时,该文件有更多的页面(大约超过500页),此时需要更多的执行时间(大约6到8分钟) 如果我上传的pdf文件有100页,200页,300页,在那个时候它工作得很好C# WCF服务抛出:接收HTTP响应时出错,c#,wcf,wcf-serialization,C#,Wcf,Wcf Serialization,我有WCF服务,我把它放在我的本地服务器(本地机器)上,它工作正常,但当我把它放在服务器(互联网)上时,它会抛出下面的错误 接收对的HTTP响应时出错。这可能是由于服务端点绑定未使用HTTP协议造成的。这也可能是由于服务器中止了HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志 此WCF服务用于上传pdf文件,并根据上传的pdf文件进行操作 问题发生在我上传pdf文件时,该文件有更多的页面(大约超过500页),此时需要更多的执行时间(大约6到8分钟) 如果我上传的pdf文件
注意:所有pdf文件的大小都小于5 MB。您需要为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>
处理过程可能花费了太多时间,并且客户端在处理之前超时
<bindings>
<basicHttpBinding>
<binding name="IncreasedTimeout"
sendTimeout="24:00:00">
</binding>
</basicHttpBinding>
</bindings>
由于将文件上载到本地主机是即时的-此超时将同时考虑服务器处理和上载到服务器。您确定它与PDF文件大小无关吗?对内容(页面)的限制似乎很奇怪。@Vojtech:ya我敢肯定,听起来你处理大型PDF文件时有一个只在服务器环境中出现的错误。写一堆日志,看看你是否能说出服务失败的地方。我猜可能是内存、网络、权限,或者是您编写的某些设置或代码,这些设置或代码只打算在本地机器上工作,但被推到了生产环境中。