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