2014-02-10 43 views
0

我有WCF websrvice託管在IIS 7.5和IIS8上,並且我正在起訴REST端點以從我的Web應用程序與Web服務進行通信。 我正在使用httpWebrequest上傳文件,並且我已經在web.config中設置了每個可能的設置,以確保asp.net允許我上傳大文件。 其工作正常與IIS 8中的大文件,但在IIS 7.5中我得到以下錯誤:將文件上傳到REST WCF服務連接強制關閉問題

事件代碼:3005 事件消息:發生未處理的異常。 事件時間:2014年10月2日下午4時04分39秒 事件時間(UTC):2014年10月2日上午06時04分39秒 事件ID:8aea1d07d67743ba81a4c46bcd622ed1 事件序列:63 事件發生:1個 事件詳細信息代碼:0

應用程序信息: 應用程序域:/LM/W3SVC/1/ROOT/OP.Web-1-130364857480032265 信任級別:全

進程信息: 進程ID:5320 流程名稱:w3wp.exe 帳戶名稱:IIS APPPOOL \ MyApplication AppPool

異常信息: 異常類型:IOException 異常消息:無法從傳輸連接讀取數據:現有連接被遠程主機強制關閉。 at System.Net.Sockets.NetworkStream.Read(Byte [] buffer,Int32 offset,Int32 size) at System.Net.PooledStream.Read(Byte [] buffer,Int32 offset,Int32 size) at System.Net。 Connection.SyncRead(HttpWebRequest的請求,布爾userRetrievedStream,布爾probeRead)

一個現有的連接強制性地由遠程主機 在System.Net.Sockets.Socket.Receive(字節[]緩衝封閉,的Int32偏移的Int32大小, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.Read(Byte [] buffer,Int32 offset,Int32 size)

如果你幫我解決這個問題,我會很感激。

回答

0

有兩種不同的地方可以在IIS中指定請求大小,如解釋 in this answer。也許WFC體系結構中還有其他地方。但是它們都被限制在4GB(在某些情況下是2GB)。在我們的一個實現中,我們找到了最好的途徑,即我們託管一個基於Owin的自定義Web服務器來專門處理上傳的請求。它需要幾行代碼才能啓動並運行,並且在asp.net網站上提供了樣本。