6

我在 2K8R2 开发服务器上部署了 WCF 4.0 服务,并在 IIS 7.5 下托管。我从测试应用程序(WPF)本地调用它。我在发送较大文件(通过字节数组)时遇到问题,在尝试发送 23MB(或更大)文件时出现以下错误。

在 http:///FileStorageClone/FileStorage.svc 上没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。

最大 19MB 可以正常工作。我在 web.config 文件中提高了超时设置并将最大缓冲区、接收到的消息和数组大小设置为 2GB。几乎立即抛出异常(没有足够长的时间超时)。

它使用 basicHttpBinding 运行,但随着它的巩固,下一步将是其他绑定类型。

我首先解决了与小文件的连接,然后移动到更大的文件。在 64KB 时,我遇到了最大缓冲区并收到了消息大小。在 4MB 时,我了解到我需要将 system.Web 下的 httpRuntime 从默认的 4GB 值提高。

对我来说,这感觉像是 IIS 或站点级别的问题。知道我可能会在哪里失踪吗?

4

1 回答 1

16

看起来这是更多在 IIS 级别的设置。在 web.config 或通过 appcmd.exe 设置 requestFiltering 是两个可行的选项。在 web.config 中,以下示例将限制设置为 22 亿字节:

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

感谢: http ://www.dantor.com/support/misc/web-config-requestFiltering-user-agent.aspx

此外,通过 appcmd.exe,请参阅:http ://forums.iis.net/t/1066272.aspx

于 2012-08-06T20:31:41.940 回答