DbDataReader.DisposeAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ę .