我们的服务可以处理从小到大的数据集(文档生成),它对某些调用运行良好,但对于某些特定请求(完全相同的方法,不同的参数)它只返回:
System.ServiceModel.EndpointNotFoundException:在http://localhost:8010/MyService/MyService.svc上没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。---> System.Net.WebException:远程服务器返回错误:(404)未找到。
请注意,该服务正在运行,文档已生成,但正如我所说,并非所有文档...(并且可以从浏览器打开服务)
我在 web.config 中打开了跟踪(system.diagnostics),但在 svclog 中没有进一步的信息。
绑定(wsHttp)配置为:
<binding name="wsHttpWithTrans" transactionFlow="True" messageEncoding="Mtom" maxReceivedMessageSize="65536000" maxBufferPoolSize="124288000">
<readerQuotas maxDepth="32" maxStringContentLength="819200" maxArrayLength="16384000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true" />
</security>
</binding>
而且,还有:
<configuration>
<system.web>
<httpRuntime maxRequestLength="124288000" />
</system.web>
</configuration>
我相信消息应该在maxReceivedMessageSize
, 和其他属性的范围内。
目前我对消息的大小持怀疑态度,但不能确定 - 你知道如何进一步调试吗?