2014-02-20 66 views
3

不用擔心,它不是最佳做法,但對於自定義要求(只有幾個用戶的應用程序&沒有併發訪問) ,我需要設置一個非常大的執行超時值,以便請求可能需要幾個小時才能完成。在Web.config文件中,我將httpRuntime元素的executionTimeout attribute(定義允許在被ASP.NET自動關閉之前允許執行請求的秒數)的值設置爲3000(8+小時)如何防止ASP.NET 4.5中的超時請求超時

我已將編譯元素中的debug屬性設置爲False,因爲它是設置較大超時值的先決條件。

Web應用程序運行在ASP.NET 4.5和IIS 8.5 /在Windows Server 2012

即使我設置executionTimeout屬性,頁面請求倍這麼高的數值超出1小時後。我如何讓網頁不超時?

executionTimeout是否有最大值,超過該值無法增加? IIS或Windows Server 2012中的某些系統設置值是否強制web.config中的executionTimeout值生效?

+0

WOW,奇怪的問題一起!可能是您的應用程序池被回收。這個請求是否報告進度?爲什麼你需要維持這個頻道這麼久?你能不能僅僅在一個任務或線程上運行請求,而只是在用戶返回時保存這些請求呢?對不起,如果我沒有得到這個問題的重點。 – KevDevMan

回答

0

不知道爲什麼它不適合你。但我們已經嘗試設置以下適用於我們的值。

<httpRuntime maxRequestLength="2147483647" requestValidationMode="2.0" executionTimeout="4800" maxQueryStringLength="2097151" /> 

<compilation debug="false" targetFramework="4.5">