다음 코드가 있습니다. conn == null을 사용하면 마지막으로 연결 풀링을 계속 사용합니까? 연결을 닫는 것이 좋지만 전체 연결 개체를 삭제하는 것은 어떻습니까?연결 풀링
public void ExecuteNonQuery(SqlCommand Cmd)
{
//========== Connection ==========//
SqlConnection Conn = new SqlConnection(strConStr);
try
{
//========== Open Connection ==========//
Conn.Open();
//========== Execute Command ==========//
Cmd.Connection = Conn;
Cmd.CommandTimeout = 180;
Cmd.ExecuteNonQuery();
}
catch (Exception Exc)
{
throw Exc;
}
finally
{
//======== Closing Connection ========//
if (Conn.State == ConnectionState.Open)
{ Conn.Close(); }
//======== Disposing object ========//
Conn = null;
}
}
당신이 얻고있는 답변 중 "이유"를 설명하기위한 몇 가지 요지 ... '예외 실행'은 예외의 스택 추적을 대체하므로 디버깅하기가 어렵습니다. 대신에'throw '라고 쓰거나 catch를 완전히 내 버릴 수 있습니다. 'Conn = null'은 효과적으로 아무것도하지 않습니다. 당신은 Conn.Dispose()를 찾고 있습니다 (닫는 것을 처리 할 것입니다). 그리고'using()'블럭은 try/finally/dispose의 줄임말입니다. LOC를 줄이는 가장 좋은 방법은 ... –