Asp.Net各種超時(shí)問題總結(jié)
更新時(shí)間:2013年02月19日 12:00:54 作者:
在數(shù)據(jù)庫或者請求操作時(shí),如果選擇的時(shí)間段過短或操作數(shù)據(jù)量過大,就會(huì)遇到"請求超時(shí)"的的問題,網(wǎng)絡(luò)上提供很多解決方案,但普遍不完善,根據(jù)個(gè)人經(jīng)驗(yàn)及參考網(wǎng)絡(luò)解決方案,先將其匯總
在數(shù)據(jù)庫或者請求操作時(shí),如果選擇的時(shí)間段過短或操作數(shù)據(jù)量過大,就會(huì)遇到"請求超時(shí)"的的問題,網(wǎng)絡(luò)上提供很多解決方案,但普遍不完善,根據(jù)個(gè)人經(jīng)驗(yàn)及參考網(wǎng)絡(luò)解決方案,先將其匯總?cè)缦拢?br>
根據(jù)錯(cuò)誤類型,大致分為如下幾種情況
1:Asp.net請求超時(shí)
2:IIS請求超時(shí)
3:數(shù)據(jù)庫連接超時(shí)
4: 數(shù)據(jù)庫操作超時(shí)
5:應(yīng)用程序池回收(低)
6:Webservice等服務(wù)請求超時(shí)
下面根據(jù)上述情況一一作出處理
1:Asp.net請求超時(shí)
http請求超時(shí)可以在webconfig中進(jìn)行全局配置,(單位為秒,默認(rèn)為90秒)如下
<system.web>
<httpRuntime maxRequestLength="102400" executionTimeout="180" />
system.web>
2:IIS請求超時(shí)
直接去IIS進(jìn)行設(shè)置:IIS-網(wǎng)站-屬性 設(shè)置一個(gè)較大的值,但是不能太大,具體情況具體分析。
3:數(shù)據(jù)庫連接超時(shí)
在配置數(shù)據(jù)庫連接字符串的時(shí)候一起配置
<connectionStrings>
<add name="MarketingMate" connectionString="Data Source=192.168.1.1; Database=MarketingMate; User Id=sa; Password=123; Connect Timeout=30;Min Pool Size=16;Max Pool Size=100;"
providerName="System.Data.SqlClient"/>
connectionStrings>
4. 數(shù)據(jù)庫操作超時(shí)
數(shù)據(jù)庫操作超時(shí)目前還沒有全局設(shè)置方法,只能設(shè)置Command類的CommandTimeOut屬性(單位為秒,默認(rèn)為30秒)
context.CommandTimeout = 180;
5:應(yīng)用程序池回收(底)這種出現(xiàn)的情況很低,請酌情設(shè)置
應(yīng)用程序池會(huì)在一定的時(shí)間內(nèi)回收線程,直接設(shè)置即可:應(yīng)用程序池--屬性--回收工作進(jìn)程
6:Webservice等服務(wù)請求超時(shí) (這種是參考網(wǎng)上提供的解決方法,本人沒遇到過)
擴(kuò)大代理類的超時(shí)限制,默認(rèn)是90秒 ,即在調(diào)用方法前指定超時(shí)時(shí)間。
[csharp]YourWebService yws = new YourWebService(); yws.Timeout = 1200000; //20分鐘,單位是毫秒[/csharp]
如果將 Timeout 屬性設(shè)置為 Timeout.Infinite,則指示該請求無超時(shí)。即使 XML Web services 客戶端可以將 Timeout 屬性設(shè)置為無超時(shí),Web 服務(wù)器仍可以在服務(wù)器端使請求超時(shí)。
您可能感興趣的文章:
- 設(shè)置ASP.NET頁面的運(yùn)行超時(shí)時(shí)間詳細(xì)到單個(gè)頁面及站點(diǎn)
- 登錄超時(shí)給出提示跳到登錄頁面(ajax、導(dǎo)入、導(dǎo)出)
- php設(shè)置頁面超時(shí)時(shí)間解決方法
- JS實(shí)現(xiàn)頁面超時(shí)后自動(dòng)跳轉(zhuǎn)到登陸頁面
- php頁面函數(shù)設(shè)置超時(shí)限制的方法
- ajax提交session超時(shí)跳轉(zhuǎn)頁面使用全局的方法來處理
- .net讓線程支持超時(shí)的方法實(shí)例和線程在執(zhí)行結(jié)束后銷毀的方法
- Asp中Server.ScriptTimeOut屬性需要注意的一點(diǎn)分析
- 超過了腳本運(yùn)行的最長時(shí)間..Server.ScriptTimeOut 屬性指定新值
- ASP.NET頁面請求超時(shí)時(shí)間設(shè)置多種方法
相關(guān)文章
ASP.NET?MVC5網(wǎng)站開發(fā)用戶登錄、注銷(五)
這篇文章主要介紹了ASP.NET?MVC5?網(wǎng)站開發(fā)中用戶登錄、注銷的實(shí)現(xiàn)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-09-09Asp.net的服務(wù)器推技術(shù) (Server Push)
在以往的和服務(wù)器端通信技術(shù)中,我們多數(shù)使用的是AJAX輪詢式訪問,也就是在Javascript中控制時(shí)間間隔,然后每隔一段時(shí)間就訪問一次服務(wù)器,然后獲得數(shù)據(jù)或通知。但是這種輪詢方式的訪問有90%是在做無用功。2010-01-01asp.net多選項(xiàng)卡頁面的創(chuàng)建及使用方法
看了很多朋友還不會(huì)創(chuàng)建多選項(xiàng)卡的頁面,特地總結(jié)了一下用法,看一遍就會(huì)了,感興趣的朋友可以參考下2013-01-01ASP.NET中ListView(列表視圖)的使用前臺(tái)綁定附源碼
ListView(列表視圖)想必大家都知道吧,接下來本文將介紹下ListView的使用前臺(tái)綁定,感興趣的你可不要錯(cuò)過本文了哈2013-03-03使用.NET升級(jí)助手將.NET?Framework項(xiàng)目升級(jí)為.NET?6
這篇文章介紹了使用.NET升級(jí)助手將.NET?Framework項(xiàng)目升級(jí)為.NET?6的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04VS2015 IIS Express無法啟動(dòng)的解決方法
這篇文章主要介紹了VS2015 IIS Express無法啟動(dòng)的解決方法 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08在asp.net網(wǎng)頁中顯示數(shù)學(xué)符號(hào)的代碼
在網(wǎng)頁中顯示一些符號(hào),如數(shù)學(xué)符號(hào)(Insus.NET僅提供常用符號(hào)),需要的朋友可以參考下2012-10-10ASP.NET MVC學(xué)習(xí)教程之Razor語法
這篇文章主要給大家介紹了關(guān)于ASP.NET MVC學(xué)習(xí)教程之Razor語法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05