나는이 질문에 대해 상충되는 결과를 계속 찾습니다. 의는 SQL 쿼리를 실행의 C# 코드를 살펴 보자 :using 키워드로 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()
를 호출해야합니까? 내가 요청하는 이유는 무거운 트래픽 웹 응용 프로그램에서 연결이 끊어지기 때문입니다.
감사합니다. 질문은 - 연결이 즉시 닫히는가, 또는 가비지 수집기가 연결될 때 닫히는가? 그게 내 사건에 영향을 미치기 때문이야. – c00000fd
"동일한 연결 문자열을 사용하고 있는지 확인하십시오."- 그 의미는 무엇입니까? 'SqlConnection cn'을 정적 변수로 정의 하시겠습니까? – c00000fd
'비 결정적 마무리 '= ** 잘못된 **. 연결은'using' 문을 벗어난 직후 처리됩니다. 그건 쓰레기 수집과 관련이 없습니다. 사실, 비 결정적 GC는 정확히 IDisposable 인터페이스와 Dispose Pattern이 .NET에 도입 된 이유입니다. –