IWin32Exception (0x80004005):等候操作已通時 • 1 ISqlException (ox80131904):執行通時到期 •在作業完成之前超過逾時等待的時間,或是同服器未回應• 1 System.Data.SqlClient.SqlConnection.OnError(SqlExceptionexception,BooleanbreakConnection,Action”1wrapCloseInAction)+3335088 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObjectstate0bj,BooleancallerHasConnectionLock,BooleanasyncClose)+334 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, Sq]DataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsPa System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()+89 System.Data.SqlClient.SqlDataReader.get_MetaData()+101
在 ASP.NET VB 程式中延長等候時間,特別是針對可能引起 Win32Exception - 等候操作已逾時
錯誤的外部操作(如資料庫操作),通常涉及到調整逾時設定。以下是一些常見的設定調整方法:
1. 數據庫命令逾時(CommandTimeout)
如果錯誤是由於數據庫操作超時,可以增加 SqlCommand
物件的 CommandTimeout
屬性。這個屬性決定了執行 SQL 命令前等待的最長時間(以秒為單位)。
Dim command As New SqlCommand(yourSqlQuery, yourSqlConnection)
command.CommandTimeout = 120 ' 設置為 120 秒
2. 數據庫連線逾時(ConnectionTimeout)
連線逾時設定決定了嘗試與數據庫建立連線前等待的最長時間。這通常在連線字串中設置。
Dim connectionString As String = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;Connection Timeout=30;"
3. ASP.NET 請求處理逾時
ASP.NET 應用程式對每個請求的處理也有一個逾時設定,這可以在 web.config
文件中設置。
<configuration>
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
</configuration>
這裡的 executionTimeout
是以秒為單位,上例設定為 180 秒。