DbConnection.CloseAsync Methode

Definition

Schließt asynchron die Verbindung mit der Datenbank

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

Gibt zurück

Eine Task, die den asynchronen Vorgang darstellt

Hinweise

Die Standardimplementierung dieser asynchronen Methode delegiert an ihre synchrone Entsprechung und gibt einen abgeschlossenen Taskzurück, der den aufrufenden Thread möglicherweise blockiert.

Datenanbieter, die asynchrone Programmierung unterstützen, sollten die Standardimplementierung mithilfe asynchroner E/A-Vorgänge außer Kraft setzen.

Die Close Methoden und CloseAsync führen ein Rollback für alle ausstehenden Transaktionen aus. Anschließend wird die Verbindung mit dem Verbindungspool freigegeben oder die Verbindung geschlossen, wenn das Verbindungspooling deaktiviert ist.

Eine Anwendung kann oder CloseAsync mehrere Aufrufe Close ausführen. Es wird keine Ausnahme generiert.

Wenn der DbConnection außerhalb des Gültigkeitsbereichs liegt, wird es nicht geschlossen. Daher müssen Sie die Verbindung explizit schließen, indem Sie oder DisposeaufrufenClose, die funktionell gleichwertig sind. Wenn der Wert Pooling für das Verbindungspooling auf true oder yesfestgelegt ist, wird auch die physische Verbindung freigegeben.

Achtung

Schließen Sie DbConnectionkein , ein DbDataReaderoder ein anderes verwaltetes Objekt in der Finalize -Methode Ihrer -Klasse. In einem Finalizer sollten Sie nur nicht verwaltete Ressourcen freigeben, die ihre Klasse direkt besitzt. Wenn die Klasse keine nicht verwalteten Ressourcen besitzt, definieren Sie in der Klasse keine Finalize-Methode. Weitere Informationen finden Sie unter Garbage Collection.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Close()Ausnahmen.

Gilt für: