DbConnection.CloseAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Asynchronně zavře 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 její 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 zpět všechny nevyřízené transakce. Potom uvolní připojení k fondu připojení nebo připojení zavře, pokud je sdružování připojení zakázané.
Aplikace může volat Close nebo CloseAsync vícekrát. Nevygeneruje se žádná výjimka.
DbConnection Pokud je rozsah mimo rozsah, 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 hodnotu nebo yes, uvolní se také fyzické připojení.
Caution
Nezavírejte ani neodhazujte DbConnectionobjekt , DbDataReaderani žá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 naleznete v tématu Uvolňování paměti.
Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Close().