程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET頁面請求超時時間設置多種方法

ASP.NET頁面請求超時時間設置多種方法

編輯:ASP.NET基礎

ASP.NET

頁面請求超時時間(頁面後台程序執行時間)默認值為110秒(在 .NET Framework 1.0 版和 1.1 版中,默認值為 90 秒)

即:

Server.ScriptTimeout = 110(HttpServerUtility.ScriptTimeout = 110)

System.Web.Configuration.HttpRuntimeSection().ExecutionTimeout.ToString() =00:01:50(110 秒)

方法一:設置 Server.ScriptTimeout 的值

注意:設置的值必須大於90,否則不會生效,請求超時值依然是90秒 (網上流傳的說法,經驗證錯誤!!!)

只有當compilation元素中的調試屬性為False時,此超時屬性才適用(true:ScriptTimeOut=30000000)。若要避免在調試期間關閉應用程序,請不要將此超時屬性設置為較大值。

<span style="font-family: 'Microsoft YaHei';">//單位秒
Server.ScriptTimeout = 60;</span>

方法二:Web.config 配置httpRuntime executionTimeout (單位秒)

注意:只有當compilation元素中的調試屬性為False時,此超時屬性才適用(true:ScriptTimeOut=30000000)。若要避免在調試期間關閉應用程序,請不要將此超時屬性設置為較大值。

httpRuntime executionTimeout 的設置可修改Server.ScriptTimeout的值,使用ScriptTimeout屬性以編程方式對超時值進行的設置優先於Web.config設置。

<span style="font-family: 'Microsoft YaHei';"><system.web>
 <compilation debug="false" targetFramework="4.0" />
 <!-- 設置為600秒 Server.ScriptTimeout = 600 -->
 <httpRuntime executionTimeout="600"/>
</system.web></span>

方法三:設置HttpRuntimeSection.ExecutionTimeout 的值 (經測試,無效!!!不知如何使用!)https://msdn.microsoft.com/zh-cn/library/system.web.configuration.httpruntimesection.executiontimeout(VS.80).aspx

復制代碼 代碼如下:System.Web.Configuration.HttpRuntimeSection configSection = new System.Web.Configuration.HttpRuntimeSection();
configSection.ExecutionTimeout = TimeSpan.FromSeconds(100);

方法四:IIS配置 修改 腳本超時 值

這個未確定 網站→高級設置:

一樣未確定 應用程序池→高級設置:

注意:如果頁面使用了 UpdatePanel,UpdatePanel 內部的請求分以下兩種情況:

①設置的超時值 >=90秒,UpdatePanel 內部的請求超時值將變為 90 秒!

② 設置的超時值 <90秒,UpdatePanel 內部的請求超時值將變為 所設置的值!

下圖Server.ScriptTimeout= 5 秒,點擊UpdatePanel 內部的按鈕,Thread.Sleep(20 * 1000) 秒,請求超時,但是頁面看不到報錯信息!

而點擊UpdatePanel 外部的按鈕,則會報如圖1的 “請求超時”的錯誤信息!

下圖Server.ScriptTimeout= 100 秒,點擊UpdatePanel 內部的按鈕,Thread.Sleep(95 * 1000)//停止95秒; 實際上到90秒就超時了(如下面第二圖)而點擊UpdatePanel 外部的按鈕,Thread.Sleep(95 * 1000)//停止95秒 ,請求成功!

=======================================================================================================================全局超時時間

服務器上如果有多個網站,希望統一設置一下超時時間,則需要設置 Machine.config 文件中的 ExecutionTimeout 屬性值。Machine.config 文件位於%SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\目錄中。

<httpRuntime executionTimeout="600" />

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved