我們正在開發通過互聯網上傳大文件的應用程序。 DotNetZip壓縮前的文件大小約爲18GB,壓縮後大約爲4GB。文件通過安全的ftp從客戶端機器傳輸到目標服務器,沒有任何問題。.NET Web服務超時在Internet服務器機
然後客戶端調用目標服務器主機託管的.net Web服務將文件從ftp root複製到存儲目錄,計算文件哈希,然後調用DotNetZip來解壓縮文件。
當客戶機和承載Web服務的目標服務器都在Intranet中時,Web服務可以很好地工作。
但是,在複製,散列和解壓縮4GB文件時,如果使用同一臺客戶機,但是另一臺在Internet上託管Web服務的生產目標服務器,則Web服務的「線程正在中止異常」。
這兩臺服務器機器都是帶有SP2的Windows 2003服務器,安裝了相同的組件,具有相同的IIS ver6.0,並且配置相同以使用ASP .Net 2.0。我們將web.config,machine.config,MetaBase.xml從Intranet服務器機器複製到Internet服務器機器。
我們改變: 1.客戶端代碼:在代碼中的Web服務代理超時7200000 2.服務器機器web.config文件: (1)。 (2)。 3.服務器machine.config文件: (1)。 4.服務器機器MetaBase.xml: (1)。 ASPMaxRequestEntityAllowed把= 「1073741824」 5.在IIS ver6,網站 - >服務標籤 - >隔離模式 「在IIS 5.0隔離模式運行WWW服務」 被選中。
我們當前對Internet上服務器機器上的問題的理解是,即使線程繼續完成複製文件,.Net recycl工作進程仍處於默認超時值狀態,導致「線程中止」異常。
如果我們的理解是正確的,那麼爲什麼同一個超時配置在Intranet上的服務器上工作?我們如何在Internet上的生產服務器上進行超時配置工作?
文本蝙蝠俠的聖牆! – 2012-02-15 19:24:52