Udostępnij za pośrednictwem


DbDataReader.DisposeAsync Metoda

Definicja

Asynchronicznie zwalnia wszystkie zasoby używane przez bieżące wystąpienie DbDataReader klasy.

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

Zwraca

Reprezentująca ValueTask operację asynchroniczną.

Implementuje

Uwagi

Wywołaj połączenie Dispose lub DisposeAsync po zakończeniu korzystania z elementu DbDataReader. Wywołanie jednej z tych metod pozostawia DbDataReader stan w stanie bezużytecznym. Po usunięciu należy zwolnić wszystkie odwołania do DbDataReader modułu, aby moduł odśmiecania pamięci mógł odzyskać pamięć zajmowaną DbDataReader przez użytkownika.

Aby uzyskać więcej informacji, zobacz Oczyszczanie niezarządzanych zasobów i Implementowanie metody Dispose.

Uwaga

Zawsze usuwaj przed zwolnieniem ostatniego odwołania do pliku DbDataReader. W przeciwnym razie zasoby, których używasz, nie zostaną zwolnione do momentu wywołania DbDataReader metody obiektu przez moduł odśmieceń Finalize pamięci.

Domyślna implementacja tej asynchronicznej metody deleguje do jego synchronicznego odpowiednika i zwraca ukończony ValueTask, potencjalnie blokujący wątek wywołujący.

Dostawcy danych, którzy obsługują programowanie asynchroniczne , powinni zastąpić domyślną implementację przy użyciu asynchronicznych operacji we/wy.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez Dispose()usługę .

Dotyczy