彙集我已經下面用我的數據庫訪問代碼:Tranaction和連接在asp.net
//gets the connection and create transaction
SqlTransaction transaction = SelectConnection();
try
{
dsRecordDataset = new DataSet();
SqlParameter[] param = new SqlParameter[1];
string[] taleNames = new string[1];
taleNames[0] = "RecordSet";
param[0] = new SqlParameter("@Mode", Mode);
SqlHelper.FillDataset(transaction, CommandType.StoredProcedure,
"spProject", dsRecordDataset, taleNames, param);
transaction.Commit();
return dsRecordDataset;
}
catch (Exception ex)
{
transaction.Rollback();
throw ex;
}
問題,我發現是我從來沒有關閉了連接,使連接池就會溢出,並給出一個有時對用戶有錯誤。我需要澄清以下內容
- 連接池何時根據asp.net中的默認設置進行重置?
- 提交事務是否與連接有關?
我試圖try catch塊
finally
{
if (transaction.Connection.State == ConnectionState.Open)
{
transaction.Connection.Close();
}
}
後使用下面的代碼,但隨後的連接爲null,並且給出了一個錯誤。
- 有什麼辦法可以在上面的代碼中關閉連接嗎?
你似乎是返回(斷開)的數據集,所以關閉連接。使用連接快速搜索ADO.NET –