ASP.NET
頁面請求超時時間(頁面后臺程序執(zhí)行時間)默認(rèn)值為110秒(在 .NET Framework 1.0 版和 1.1 版中,默認(rèn)值為 90 秒)
即:
Server.ScriptTimeout = 110(HttpServerUtility.ScriptTimeout = 110)
System.Web.Configuration.HttpRuntimeSection().ExecutionTimeout.ToString() =00:01:50(110 秒)
方法一:設(shè)置 Server.ScriptTimeout 的值
注意:設(shè)置的值必須大于90,否則不會生效,請求超時值依然是90秒 (網(wǎng)上流傳的說法,經(jīng)驗證錯誤!!!)
只有當(dāng)compilation元素中的調(diào)試屬性為False時,此超時屬性才適用(true:ScriptTimeOut=30000000)。若要避免在調(diào)試期間關(guān)閉應(yīng)用程序,請不要將此超時屬性設(shè)置為較大值。
<span style="font-family: 'Microsoft YaHei';">//單位秒
Server.ScriptTimeout = 60;</span>
方法二:Web.config 配置httpRuntime executionTimeout (單位秒)
注意:只有當(dāng)compilation元素中的調(diào)試屬性為False時,此超時屬性才適用(true:ScriptTimeOut=30000000)。若要避免在調(diào)試期間關(guān)閉應(yīng)用程序,請不要將此超時屬性設(shè)置為較大值。
httpRuntime executionTimeout 的設(shè)置可修改Server.ScriptTimeout的值,使用ScriptTimeout屬性以編程方式對超時值進行的設(shè)置優(yōu)先于Web.config設(shè)置。
1
2
3
4
5
|
<span style= "font-family: 'Microsoft YaHei';" ><system.web> <compilation debug= "false" targetFramework= "4.0" /> <!-- 設(shè)置為600秒 Server.ScriptTimeout = 600 --> <httpRuntime executionTimeout= "600" /> </system.web></span> |
方法三:設(shè)置HttpRuntimeSection.ExecutionTimeout 的值 (經(jīng)測試,無效!!!不知如何使用!)https://msdn.microsoft.com/zh-cn/library/system.web.configuration.httpruntimesection.executiontimeout(VS.80).aspx
configSection.ExecutionTimeout = TimeSpan.FromSeconds(100);
方法四:IIS配置 修改 腳本超時 值
這個未確定 網(wǎng)站→高級設(shè)置:
一樣未確定 應(yīng)用程序池→高級設(shè)置:
注意:如果頁面使用了 UpdatePanel,UpdatePanel 內(nèi)部的請求分以下兩種情況:
①設(shè)置的超時值 >=90秒,UpdatePanel 內(nèi)部的請求超時值將變?yōu)?90 秒!
② 設(shè)置的超時值 <90秒,UpdatePanel 內(nèi)部的請求超時值將變?yōu)?所設(shè)置的值!
下圖Server.ScriptTimeout= 5 秒,點擊UpdatePanel 內(nèi)部的按鈕,Thread.Sleep(20 * 1000) 秒,請求超時,但是頁面看不到報錯信息!
而點擊UpdatePanel 外部的按鈕,則會報如圖1的 “請求超時”的錯誤信息!
下圖Server.ScriptTimeout= 100 秒,點擊UpdatePanel 內(nèi)部的按鈕,Thread.Sleep(95 * 1000)//停止95秒; 實際上到90秒就超時了(如下面第二圖)而點擊UpdatePanel 外部的按鈕,Thread.Sleep(95 * 1000)//停止95秒 ,請求成功!
=======================================================================================================================全局超時時間
服務(wù)器上如果有多個網(wǎng)站,希望統(tǒng)一設(shè)置一下超時時間,則需要設(shè)置 Machine.config 文件中的 ExecutionTimeout 屬性值。Machine.config 文件位于%SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\目錄中。
<httpRuntime executionTimeout="600" />
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。