다음을 통해 공유


DbConnection.CloseAsync 메서드

정의

데이터베이스에 대한 연결을 비동기적으로 닫습니다.

public:
 virtual System::Threading::Tasks::Task ^ CloseAsync();
public virtual System.Threading.Tasks.Task CloseAsync ();
abstract member CloseAsync : unit -> System.Threading.Tasks.Task
override this.CloseAsync : unit -> System.Threading.Tasks.Task
Public Overridable Function CloseAsync () As Task

반환

비동기 작업을 나타내는 Task입니다.

설명

이 비동기 메서드의 기본 구현은 동기 메서드에 대리하고 호출 스레드를 차단할 수 있는 완료된 Task를 반환합니다.

비동기 프로그래밍을 지원하는 데이터 공급자는 비동기 I/O 작업을 사용하여 기본 구현을 재정의해야 합니다.

CloseAsync 메서드는 Close 보류 중인 트랜잭션을 롤백합니다. 그런 다음 연결 풀에 대한 연결을 해제하거나 연결 풀링을 사용하지 않도록 설정한 경우 연결을 닫습니다.

애플리케이션은 또는 CloseAsync 를 두 번 이상 호출 Close 할 수 있습니다. 예외가 생성되지 않습니다.

DbConnection scope 나가면 닫혀 있지 않습니다. 따라서 기능적으로 동등한 또는 Dispose를 호출 Close 하여 연결을 명시적으로 닫아야 합니다. 연결 풀링 값 Pooling 이 또는 yestrue 설정된 경우 실제 연결도 해제됩니다.

주의

클래스의 메서드에서 DbConnection, DbDataReader또는 다른 관리되는 개체를 Finalize 닫거나 삭제하지 마세요. 종료자에서 클래스가 직접 소유하는 관리되지 않는 리소스만 해제해야 합니다. 클래스에 관리되지 않는 리소스가 없는 경우 클래스 정의에 Finalize 메서드를 포함하지 마세요. 자세한 내용은 가비지 수집을 참조하세요.

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Close()된 예외를 참조하세요.

적용 대상