2012-08-06 45 views
6

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

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

高达19MB的工作正常。我已经调高了超时设置,并在web.config文件中将最大缓冲区,接收到的消息和数组大小都设置为2GB。几乎立即抛出异常(不足以超时)。

它正在使用basicHttpBinding运行,但随着固化,接下来的步骤将是其他绑定类型。

我首先计算出了与小文件的连接,然后移到了更大的位置。在64KB时,我跑到最大缓冲区并收到消息大小。在4MB的时候,我知道我需要在默认的4GB值下打开system.Web中的httpRuntime。

感觉就像是IIS或网站级别的问题。任何想法,我可能会失踪?

回答

14

看起来这是IIS设置更多的设置。在web.config或通过appcmd.exe设置requestFiltering是两个可行的选择。在web.config中,下面的例子设置了上限至2.2十亿字节:

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

感谢:通过Appcmd.exe的http://www.dantor.com/support/misc/web-config-requestFiltering-user-agent.aspx

此外,见:http://forums.iis.net/t/1066272.aspx