Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Dokončení některých databázových operací, jako jsou provádění příkazů, může trvat značné množství času. V takovém případě musí aplikace s jedním vláknem blokovat jiné operace a počkat na dokončení příkazu, aby mohly pokračovat ve svých vlastních operacích. Naproti tomu možnost přiřadit dlouho běžící operaci vláknu na pozadí umožňuje, aby vlákno v popředí zůstává v průběhu operace aktivní. V aplikaci pro Windows například delegování dlouhotrvající operace na vlákno na pozadí umožňuje, aby vlákno uživatelského rozhraní zůstalo při provádění operace responzivní.
Rozhraní .NET Framework poskytuje několik standardních vzorů asynchronního návrhu, které mohou vývojáři použít k využití vláken na pozadí a uvolnění uživatelského rozhraní nebo vláken s vysokou prioritou k dokončení dalších operací. ADO.NET podporuje stejné vzory návrhu ve své SqlCommand třídě. Konkrétně , BeginExecuteNonQuery, BeginExecuteReadera BeginExecuteXmlReader metody, spárované s EndExecuteNonQuery, EndExecuteReadera EndExecuteXmlReader metody, poskytují asynchronní podporu.
Poznámka:
Asynchronní programování je základní funkcí rozhraní .NET Framework a ADO.NET plně využívá standardní vzory návrhu. Další informace o různých asynchronních technikách dostupných vývojářům najdete v tématu Asynchronní volání synchronních metod.
I když použití asynchronních technik s funkcemi ADO.NET nepřidá žádné zvláštní aspekty, je pravděpodobné, že více vývojářů bude používat asynchronní funkce v ADO.NET než v jiných oblastech rozhraní .NET Framework. Je důležité vědět o výhodách a nástrahách vytváření vícevláknových aplikací. Příklady, které následují v této části, ukazují na několik důležitých problémů, které budou vývojáři muset vzít v úvahu při vytváření aplikací, které obsahují vícevláknové funkce.
V této sekci
Aplikace systému Windows využívající zpětné volání
Poskytuje příklad demonstrující, jak bezpečně spustit asynchronní příkaz, správně zpracovat interakci s formulářem a jeho obsahem z samostatného vlákna.
ASP.NET aplikace pomocí čekacích objektů
Poskytuje příklad, který ukazuje, jak spustit více souběžných příkazů z ASP.NET stránky pomocí obslužných rutin čekání ke správě operace při dokončení všech příkazů.
Dotazování v konzolových aplikacích
Poskytuje příklad ukazující použití dotazování k čekání na dokončení asynchronního spuštění příkazu z konzolové aplikace. Tato technika je také platná v knihovně tříd nebo jiné aplikaci bez uživatelského rozhraní.