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, потенциально блокируя вызывающий поток.

Поставщики данных, поддерживающие асинхронное программирование, должны переопределить реализацию по умолчанию с помощью асинхронных операций ввода-вывода.

Методы Close отката CloseAsync всех ожидающих транзакций. Затем они освобождают подключение к пулу подключений или закрывают подключение, если пул подключений отключен.

Приложение может вызывать Close или CloseAsync несколько раз. Исключение не создается.

Если область DbConnection выходит из области, она не закрывается. Поэтому необходимо явно закрыть подключение путем вызова Close или Disposeфункционально эквивалентного. Если задано Pooling значение true пула подключений или yesоно также освобождает физическое соединение.

Предостережение

Не закрывайте или не удаляйте DbConnectionобъект , а DbDataReaderтакже любой другой управляемый объект в методе Finalize класса. В средстве завершения следует освободить только неуправляемые ресурсы, принадлежащие вашему классу напрямую. Если класс не владеет какими-либо неуправляемыми ресурсами, не включайте в его определение метод Finalize. Дополнительные сведения см. в статье Сборка мусора.

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых Close().

Применяется к