我们提供的服务适用于小型到大型数据集(文档生成),并且对于某些调用工作正常,但是对于某些特定请求(完全相同的方法,不同的参数),它只会返回:



请注意,服务正在工作,可以生成文档,但是正如我所说的,并非全部...(并且可以从浏览器中打开服务)

我已经在web.config中打开了跟踪(system.diagnostics),但svclog中没有进一步的信息。

绑定(bind)(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和其他属性的范围内。

目前,我对邮件的大小感到怀疑,但不能确定-您是否知道如何进一步调试?

最佳答案

我使用Troubleshooting Failed Requests Using Tracing in IIS 7上的指令发现了什么问题(非常棒的东西)

在那里,我看到了错误实际上是 404.13 ,它很容易导致我真正出了问题:内容长度太大

最后,解决方案是将其添加到Web配置中:

<configuration>
...
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="204800000" />
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

并且,还要确保默认网站不会使用以下方法覆盖它:

关于c# - WCF存在并且部分正常工作,但是对于某些调用返回 "no endpoint listening - (404) Not Found.",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6690451/

10-13 06:12