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().