0
我有一個ASP.NET網頁。它使用4 BackgroundWorkers
。每個bw從數據庫中檢索一些數據。ExecuteReader需要一個開放且可用的Connection。連接的當前狀態正在連接
用於連接到數據庫中的代碼是:
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
DataTable dt = new DataTable();
OdbcCommand cmd = new OdbcCommand(sqlQuery, dbConnection);
cmd.CommandTimeout = 0;
IDataReader dataReader = cmd.ExecuteReader();
dt.Load(dataReader);
dataReader.Close();
dataReader.Dispose();
在構造,this.dbConnection = new OdbcConnection(networkdetails);
每個BW利用上面的代碼片段的查詢數據庫和檢索的值。代碼有時候工作得很好。其他時候它拋出上面給出的例外。
對我可能做錯什麼有幫助?
爲什麼在一個頁面上需要4個後臺工作者?在asp.net中這不是一種常見的做法,可能會導致很多問題。 – nunespascal 2013-04-23 06:19:59
你可以使用if(Connection.State!= ConnectionState.Open) Connection.Open();有時連接狀態可能會導致問題。嘗試這樣。 – MahaSwetha 2013-04-23 06:32:24
什麼是例外,你得到它? – MahaSwetha 2013-04-23 06:33:00