DbConnection.CloseAsync Метод

Определение

Асинхронно закрывает подключение к базе данных.Asynchronously closes the connection to the database.

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, представляющий асинхронную операцию.A Task representing the asynchronous operation.

Комментарии

Реализация этого асинхронного метода по умолчанию делегирует его синхронному аналогу и возвращает завершенный Task , потенциально блокирующий вызывающий поток.The default implementation of this asynchronous method delegates to its synchronous counterpart and returns a completed Task, potentially blocking the calling thread.

Поставщики данных, поддерживающие Асинхронное программирование , должны переопределять реализацию по умолчанию с помощью асинхронных операций ввода-вывода.Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

CloseМетоды и CloseAsync выполняют откат всех ожидающих транзакций.The Close and CloseAsync methods roll back any pending transactions. Затем они освобождают подключение к пулу подключений или закрывают подключение, если пул соединений отключен.They then release the connection to the connection pool, or close the connection if connection pooling is disabled.

Приложение может вызываться Close или CloseAsync более одного раза.An application can call Close or CloseAsync more than one time. исключения при этом не возникают.No exception is generated.

Если соединение DbConnection выходит из области видимости, то его закрытие не производится.If the DbConnection goes out of scope, it is not closed. Поэтому необходимо явно закрыть соединение, вызвав метод Close или Dispose , который функционально эквивалентен.Therefore, you must explicitly close the connection by calling Close or Dispose, which are functionally equivalent. Если для параметра пул соединений Pooling задано значение true или yes , это также освобождает физическое подключение.If the connection pooling value Pooling is set to true or yes, this also releases the physical connection.

Внимание!

Не закрывайте и не удаляйте a DbConnection , DbDataReader или любой другой управляемый объект в Finalize методе класса.Do not close or dispose a DbConnection, a DbDataReader, or any other managed object in the Finalize method of your class. В методе завершения следует освобождать только неуправляемые ресурсы, непосредственно принадлежащие классу.In a finalizer, you should only release unmanaged resources that your class owns directly. Если класс не владеет какими-либо неуправляемыми ресурсами, не включайте в его определение метод Finalize.If your class does not own any unmanaged resources, do not include a Finalize method in your class definition. Дополнительные сведения см. в статье Сборка мусора.For more information, see Garbage Collection.

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