解決Timeout時(shí)間已到.在操作完成之前超時(shí)時(shí)間已過(guò)或服務(wù)器未響應
問(wèn)題
在使用asp.net開(kāi)發(fā)的應用程序查詢(xún)數據的時(shí)候,遇到頁(yè)面請求時(shí)間過(guò)長(cháng)且返回'Timeout時(shí)間已到。在操作完成之間超時(shí)時(shí)間已過(guò)或服務(wù)器未響應'的情況

分析
造成這一問(wèn)題的原因大概有以下幾點(diǎn):
1.Asp.net請求超時(shí)
2.Webservice請求超時(shí)
3.IIS請求超時(shí)
4.數據庫連接超時(shí)
憑經(jīng)驗判斷,應當是數據庫連接超時(shí)造成,根據在網(wǎng)上找到的解決方法,進(jìn)行了以下嘗試
連接字符串中添加Connect Timeout
在數據庫連接字符串后面添加Connect Timeout=500(連接超時(shí)時(shí)間設為500秒)
運行查詢(xún)后,不到30秒,仍然返回Timeout超時(shí),問(wèn)題未解決
設置Command對象屬性CommandTimeout
運行,可以解決Command的執行超時(shí)問(wèn)題,這里設置的時(shí)間的180秒,可根據需要設置,如果過(guò)長(cháng),也可設置為0,設置為0時(shí)表示不限制時(shí)間,此屬性值需慎用。還需要在Web.config配置文件中設置http請求運行時(shí)限間
這里設置的為720秒,前面的屬性maxRequestLength一般用于用戶(hù)上傳文件限制大??!默認一般為4096 KB (4 MB)。
設置 DataAdapter對象屬性SelectCommand
運行,解決超時(shí)問(wèn)題。該條設置對DataAdapter返回多條記錄查詢(xún)超時(shí)問(wèn)題的解決效果立竿見(jiàn)影(Repeater綁定數據多適用次情況)。設置時(shí)間為180秒,根據需要可更改。
附:
Asp.net中關(guān)于超時(shí)的設置
在web.config 里<system.web>節點(diǎn)添加以下代碼:
來(lái)自MSDN解釋?zhuān)?
httpRuntime是配置asp.Net http運行時(shí)設置,以確定如何處理對asp.Net應用程序的請求。
executionTimeout:表示允許執行請求的最大時(shí)間限制,單位為秒 maxRequestLength:指示 ASP.Net 支持的最大文件上載大小。該限制可用于防止因用戶(hù)將大量文件傳遞到該服務(wù)器而導致的拒絕服務(wù)攻擊。指定的大小以 KB 為單位。默認值為 4096 KB (4 MB)。
WebService請求超時(shí)時(shí)間的設置:
擴大代理類(lèi)的超時(shí)限制,默認是90秒 ,即在調用方法前指定超時(shí)時(shí)間。
YourWebService yws = new YourWebService(); yws.Timeout = 1200000; //20分鐘,單位是毫秒
如果將 Timeout 屬性設置為 Timeout.Infinite,則指示該請求無(wú)超時(shí)。即使 XML Web services 客戶(hù)端可以將 Timeout 屬性設置為無(wú)超時(shí),Web 服務(wù)器仍可以在服務(wù)器端使請求超時(shí)。
IIS中請求超時(shí)設置。
IIS-網(wǎng)站-屬性 連接超時(shí)時(shí)間 1200秒




轉載請注明:微思考學(xué)習網(wǎng)-關(guān)注技術(shù),分享知識 >> 解決ASP.NET之Timeout時(shí)間已到,超時(shí)時(shí)間已過(guò)或服務(wù)器未響應問(wèn)題
聯(lián)系客服