我有WCF服务并且我在我的本地服务器(本地机器)中托管它工作没问题,但当我在服务器(互联网)中托管它时,它会抛出错误
接收到http://www.xxxxxxxx.com/Services/WCFService.svc的HTTP响应时发生错误。这可能是由于服务端点绑定不使用HTTP协议。这也可能是由于服务器中止HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。
此WCF服务用于上传pdf文件,也可根据上传的pdf文件进行操作。
当我上传pdf文件并且该文件有更多页面(大约500)时,会出现问题,这需要更多的执行时间(大约6到8分钟)。如果我上传的PDF文件有100页,200页,300页,那么它运作良好。
注意:所有pdf文件的大小都低于5 MB。
答案 0 :(得分:1)
处理过程可能需要花费太多时间和客户端超时
<bindings>
<basicHttpBinding>
<binding name="IncreasedTimeout"
sendTimeout="24:00:00">
</binding>
</basicHttpBinding>
</bindings>
由于将文件上传到localhost是即时的 - 此超时会考虑服务器处理和上传到服务器。
答案 1 :(得分:0)
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>