Sdílet prostřednictvím


DbConnection.CloseAsync Metoda

Definice

Asynchronně ukončí připojení k databázi.

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

Návraty

A Task představující asynchronní operaci.

Poznámky

Výchozí implementace této asynchronní metody deleguje na svůj synchronní protějšek a vrátí dokončený Task, potenciálně blokuje volající vlákno.

Zprostředkovatelé dat, kteří podporují asynchronní programování , by měli přepsat výchozí implementaci pomocí asynchronních vstupně-výstupních operací.

Metody Close a CloseAsync vrátí zpět všechny čekající transakce. Pak uvolní připojení k fondu připojení nebo ukončí připojení, pokud je sdružování připojení zakázané.

Aplikace může volat Close nebo CloseAsync vícekrát. Negeneruje se žádná výjimka.

Pokud dojde k DbConnection výpadku rozsahu, nezavře se. Proto musíte připojení explicitně zavřít voláním Close nebo Dispose, které jsou funkčně ekvivalentní. Pokud je hodnota Pooling sdružování připojení nastavená na true nebo yes, uvolní se také fyzické připojení.

Upozornění

Neuzavírejte ani nelikvidujte DbConnectionobjekt , DbDataReadera ani žádný jiný spravovaný objekt v Finalize metodě vaší třídy. V finalizátoru byste měli uvolnit pouze nespravované prostředky, které vaše třída vlastní přímo. Pokud vaše třída nevlastní žádné nespravované prostředky, nezahrnujte do definice třídy metodu Finalize . Další informace najdete v tématu Uvolňování paměti.

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Close().

Platí pro