DbConnection.CloseAsync Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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: .