【问题标题】:WCF no endpoint listening for larger filesWCF 没有端点侦听更大的文件
【发布时间】:2012-08-06 19:06:48
【问题描述】:

我在 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 或站点级别的问题。知道我可能会在哪里失踪吗?

【问题讨论】:

    标签: wcf iis-7.5


    【解决方案1】:

    看起来这更像是 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

    【讨论】:

    • 使用 http 它工作正常,但安装证书后它不适用于像 200MB+ 文件这样的大文件。设置中应该有什么?
    • @MuzammilTamboli 我认为证书不会影响大小限制,但我不是专家。我猜其他的东西在同一时间发生了变化???您是否已将其范围缩小到 200MB 左右?
    猜你喜欢
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多