대부분의 리소스는 사용후 .NET이 자동으로 리소스를 해지(Clean up)하게 되는데, 이러한 종류의 리소스를 Managed Resource라
부른다. 하지만, 파일 핸들이나 데이타베이스 Connection과 같은 리소스는 .NET에서 자동으로 닫거나 해지하지 못하는데, 이를
Unmanaged Resource라 부른다. SqlConnection 클래스는 데이타베이스 Connection을 관리하며 이는 Unmanaged Resource에
해당 된다. 따라서 개발자가 이 객체를 사용한 후 반드시 Connection을 닫아 주는 코드를 넣어 주어야 한다. 아래의 예제는
finally 블럭에서
SqlConnection의 커넥션을 체크하고 이를 닫아주는 예이다.
예제
public void ConnectSample()
{
string strConn = "Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;";
SqlConnection conn = null;
try
{
conn = new SqlConnection(strConn);
conn.Open();
// Do something here
}
catch (Exception ex)
{
throw;
}
finally
{
if (conn != null)
{
conn.Close();
}
}
}