별도의 스레드에서 db를 쿼리하고 있습니다.응용 프로그램을 닫을 때 SqlConnection이 자동으로 닫힙니 까?
쿼리가 실행되는 동안 응용 프로그램을 닫으면 SqlConnection이 자동으로 닫히지 않습니까? 아니면 열어 둡니까?
별도의 스레드에서 db를 쿼리하고 있습니다.응용 프로그램을 닫을 때 SqlConnection이 자동으로 닫힙니 까?
쿼리가 실행되는 동안 응용 프로그램을 닫으면 SqlConnection이 자동으로 닫히지 않습니까? 아니면 열어 둡니까?
프로세스가 종료되면 네트워크 연결을 포함한 모든 OS 리소스가 해제됩니다. 다시 말해서 - 괜찮습니다.
응용 프로그램이 끝나면 열려 있던 모든 항목과 함께 연결이 닫힙니다.
SqlConnection은 일회용 개체입니다. 일반적으로 IDisposable을 구현하는 객체를 Dispose()하는 것이 항상 좋은 습관입니다. SqlConnection 개체에 Close() 메서드가 있다는 것도 알았습니다. 당신도 그렇게 부르면 안 될까요?
@JoelCoehoorn : 글쎄, 난이에 대한 추가 정보를 원하시면이 글을 발견 그것은 즉시 등의 연결을 폐쇄 피하기 위해 변명은 확실히 아니에요을하지만 앱이 일을하는 동안 다운되면 이유가 걱정이다 * 합리적으로 * 해가 없다. 새로운 데이터 파일을 작성하는 등의 방법으로 절반을 죽는 것은 대처하기가 조금 더 어렵습니다 (당연히 가능하지만). –
내가 어떤 경우에는 응용 프로그램이 닫혔지만 활성 연결을 보려면 sql-server에서 쿼리 할 때 여전히 해당 연결이 표시됩니다. – shinji14
@Vanilla : 네트워크 연결이 시간 대기 또는 이와 유사한 상황 일 가능성이 있습니다. 그러나 그 연결이 합리적으로 신속하게 중단 될 것으로 예상됩니다. 어떤 종류의 연결을 데이터베이스에 사용하고 있습니까? –