IAsyncDisposable.DisposeAsync Methode
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt anwendungsspezifische Aufgaben aus, die mit dem asynchronen Freigeben, Zurückgeben oder Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.
public:
System::Threading::Tasks::ValueTask DisposeAsync();
public System.Threading.Tasks.ValueTask DisposeAsync ();
abstract member DisposeAsync : unit -> System.Threading.Tasks.ValueTask
Public Function DisposeAsync () As ValueTask
Eine Aufgabe, die den asynchronen Löschvorgang darstellt.
Verwenden Sie diese Methode, um nicht verwaltete Ressourcen wie Dateien, Streams und Handles, die von einer Instanz der -Klasse gespeichert werden, die diese Schnittstelle implementiert, asynchron zu schließen oder freizugeben. Wenn Sie diese Methode anstelle von verwenden, IDisposable.Dispose können Sie einen ressourcenintensiven Dispose-Vorgang ausführen, ohne den Hauptthread einer GUI-Anwendung für einen längeren Zeitraum zu blockieren.
Warnung
Wenn Sie eine Klasse verwenden, die die IAsyncDisposable -Schnittstelle implementiert, sollten Sie deren DisposeAsync
Implementierung aufrufen, wenn Sie mit der Verwendung der -Klasse fertig sind. Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, das IAsyncDisposable implementiert" im IAsyncDisposable Thema.
Stellen Sie bei der Implementierung dieser Methode sicher, dass alle gehaltenen Ressourcen freigegeben werden, indem Sie den Aufruf über die Einschlusshierarchie weitergeben. Wenn beispielsweise ein Objekt A ein Objekt B zuordnet und Objekt B ein Objekt C zuordnet, muss die Implementierung von DisposeAsync
A auf B aufrufen DisposeAsync
, wodurch wiederum C aufgerufen DisposeAsync
werden muss. Ein -Objekt muss auch die DisposeAsync
-Methode seiner Basisklasse aufrufen, wenn die Basisklasse implementiert IAsyncDisposable.
Wenn die DisposeAsync
Methode eines Objekts mehr als einmal aufgerufen wird, muss das Objekt alle Aufrufe nach dem ersten ignorieren und synchron einen erfolgreich abgeschlossenen ValueTaskzurückgeben. Das -Objekt darf keine Ausnahme auslösen, wenn seine DisposeAsync
Methode mehrmals aufgerufen wird. Andere Instanzmethoden als DisposeAsync
können eine ObjectDisposedException auslösen, wenn Ressourcen bereits verworfen sind.
Produkt | Versionen |
---|---|
.NET | Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Standard | 2.0 (package-provided), 2.1 |
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: