DbConnection.CloseAsync Metódus

Definíció

Aszinkron módon bezárja a kapcsolatot az adatbázissal.

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

Válaszok

Az Task aszinkron műveletet jelképező.

Megjegyzések

Ennek az aszinkron metódusnak az alapértelmezett implementációja a szinkron megfelelőjéhez delegál, és egy befejezett , potenciálisan a hívó szálat blokkoló befejezett Taskértéket ad vissza.

Az aszinkron programozást támogató adatszolgáltatóknak felül kell bírálnia az alapértelmezett implementációt aszinkron I/O-műveletek használatával.

Az Close és CloseAsync a metódusok visszaállítják a függőben lévő tranzakciókat. Ezután feloldják a kapcsolatot a kapcsolatkészlethez, vagy bezárják a kapcsolatot, ha a kapcsolatkészletezés le van tiltva.

Egy alkalmazás meghívhat vagy Close több alkalommal is hívhatCloseAsync. A rendszer nem hoz létre kivételt.

Ha a DbConnection hatókörön kívül esik, az nincs lezárva. Ezért explicit módon be kell zárnia a kapcsolatot úgy, hogy meghívja Close a kapcsolatot, vagy Dispose, amely funkcionálisan egyenértékű. Ha a kapcsolatkészletezési érték Pooling be van állítva true vagy yes, az a fizikai kapcsolatot is felszabadítja.

Figyelmeztetés

Az osztály metódusában DbConnection ne zárjon be vagy semmisítsen meg DbDataReaderegy, egyFinalize, vagy bármely más felügyelt objektumot. A véglegesítőben csak az osztály tulajdonában lévő nem felügyelt erőforrásokat szabadíthatja fel. Ha az osztály nem rendelkezik nem felügyelt erőforrásokkal, ne foglaljon bele metódust Finalize az osztálydefinícióba. További információ: Szemétgyűjtés.

Ez a metódus a feladatban tárolja az összes olyan nem használati kivételt, amelyet a metódus szinkron megfelelője tud dobni. Ha egy kivételt tárol a visszaadott tevékenységben, akkor a rendszer akkor küldi el a kivételt, amikor a feladatra vár. A használati kivételek(például ArgumentException) továbbra is szinkron módon jelennek meg. A tárolt kivételekről lásd a következő által Close()kiadott kivételeket: .

A következőre érvényes: