Sql Server超時時間已到。在操作完成之前超時時間已過或服務器未響應[總結]

[Sql Server]超時時間已到。在操作完成之前超時時間已過或服務器未響應。

針對這個問題可以從以下幾個房方面考慮:(若您有高見,請留言,謝謝)

一:執行命令超時;

        SqlCommand命令執行超時,這時需要修改CommandTimeout的默認值(默認值爲30s),即增大CommandTimeout的值。

       備註:

             CommandTimeout 值 0 指示無限制,在 CommandTimeout 中應避免值 0,否則會無限期地等待執行命令。

二:web頁面執行超時(如:上傳批量文件)

       需要修改配置文件(web.config):

<system.web>  

<httpRuntime maxRequestLength="102400" executionTimeout="720" />

</system.web>

下面寫寫httpRuntime及其屬性:

httpRuntime是配置asp.net http運行時設置,以確定如何處理對asp.net應用程序的請求。
              executionTimeout:表示允許執行請求的最大時間限制,單位爲秒
              maxRequestLength:指示 ASP.NET 支持的最大文件上載大小。該限制可用於防止因用戶將大量 文件傳遞到該服務器而導致的拒絕服務攻擊。指定的大小以 KB 爲單位。默認值爲 4096 KB (4 MB)。
              useFullyQualifiedRedirectUrl:表示指示客戶端重定向是否是完全限定的(採用     http://server/path" 格式,這是某些移動控件所必需的),或者指示是否代之以將相對重定向發送到客戶端。如果爲 True,則所有不是完全限定的重定向都將自動轉換爲完全限定的格式。false 是默認選項。
             minFreeThreads:表示指定允許執行新請求的自由線程的最小數目。ASP.NET 爲要求附加線程來完成其處理的請求而使指定數目的線程保持自由狀態。默認值爲 8。
              minLocalRequestFreeThreads:表示ASP.NET 保持的允許執行新本地請求的自由線程的最小數目。該線程數目是爲從本地主機傳入的請求而保留的,以防某些請求在其處理期間發出對本地主機的子請求。這避免了可能的因遞歸重新進入 Web 服務器而導致的死鎖。
             appRequestQueueLimit:表示ASP.NET 將爲應用程序排隊的請求的最大數目。當沒有足夠的自由線程來處理請求時,將對請求進行排隊。當隊列超出了該設置中指定的限制時,將通過“503 - 服務器太忙”錯誤信息拒絕傳入的請求。
              enableVersionHeader:表示指定 ASP.NET 是否應輸出版本標頭。Microsoft Visual Studio 2005 使用該屬性來確定當前使用的 ASP.NET 版本。對於生產環境,該屬性不是必需的,可以禁用。

三:程序中可能使用了事物處理;

       在事物處理的開始與結束之間,啓動了沒用事務處理的過程(查詢操作等),這時提示此錯誤。

發佈了56 篇原創文章 · 獲贊 24 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章