我們有一些ASP.NET的Web服務,根據此條件完美風暴失敗:異步Web服務調用使用動態壓縮到IIS7不工作
- IIS7
- 動態壓縮開啓時
- Web服務調用是異步的
如果是IIS 6,或者我們關閉動態壓縮或同步調用Web服務,它會正常工作。
它在調用SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult)時出現'Unexpected end of file'錯誤失敗。
使用Fiddler,我看到來自IIS 6的響應具有「分塊」傳輸編碼和無內容長度。來自IIS 7的響應不會被分塊並且具有內容長度。文件錯誤結束髮生在內容長度後面1個字符處。
如果我攔截Fiddler中的消息並將其更改爲chunked,則不會出現錯誤。答案可能是將其更改爲在IIS 7中分塊(我試圖做和失敗),但我不覺得我應該這樣做:我認爲它應該工作!