Поделиться через


DbDataReader.DisposeAsync Метод

Определение

Асинхронно освобождает все ресурсы, используемые текущим экземпляром класса DbDataReader.

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

Возвращаемое значение

ValueTask, представляющий асинхронную операцию.

Реализации

Комментарии

Вызовите Dispose или DisposeAsync после завершения работы с .DbDataReader Вызов одного из этих методов оставляет DbDataReader объект в непригодном для использования состоянии. После удаления необходимо освободить все ссылки на DbDataReader , чтобы сборщик мусора смог освободить память, занимаемую DbDataReader .

Дополнительные сведения см. в разделах Очистка неуправляемых ресурсов и Реализация метода Dispose.

Примечание

Всегда утилизировать перед выпуском последней ссылки на DbDataReader. В противном случае используемые им ресурсы не будут освобождены до тех пор, пока сборщик мусора не вызовет для объекта DbDataReader метод Finalize.

Реализация этого асинхронного метода по умолчанию делегирует своему синхронному аналогу и возвращает завершенный ValueTaskобъект , потенциально блокирующий вызывающий поток.

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

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

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