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