我一直在爲這個問題找到矛盾的結果。讓我們來看看運行的SQL查詢的這個C#代碼:我是否需要使用關鍵字關閉SQL Server連接?
using (SqlConnection cn = new SqlConnection(strConnectString))
{
cn.Open();
using (SqlCommand cmd = new SqlCommand(strSQL, cn))
{
cmd.ExecuteNonQuery();
}
//Do I need to call?
cn.Close();
}
我需要調用最後cn.Close()
?我問的原因是,在流量很大的Web應用程序中,我在游泳池中連接不足。
謝謝。問題是 - 連接是立即關閉還是在垃圾回收器到達時關閉?因爲這對我的情況有所影響。 – c00000fd 2013-03-21 02:34:54
「確保你使用的連接字符串相同」 - 你是什麼意思?將'SqlConnection cn'定義爲一個靜態變量? – c00000fd 2013-03-21 02:37:18
'它非確定性finalisation' = **錯誤**。在'using'語句的作用域之後,連接立即被*處理。這與垃圾收集無關。事實上,非確定性GC正是爲什麼將IDisposable接口和Dispose模式引入.NET的原因。 – 2013-03-21 02:39:45