2012-08-06 43 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