Udostępnij przez


Operacje asynchroniczne

Pobieranie ADO.NET

Niektóre operacje bazy danych, takie jak wykonania poleceń, mogą zająć dużo czasu. W takim przypadku aplikacje jednowątkowe muszą blokować inne operacje i czekać na zakończenie polecenia, zanim będą mogły kontynuować własne operacje. Natomiast możliwość przypisania długotrwałej operacji do wątku w tle umożliwia działanie wątku pierwszego planu w trakcie całej operacji. Na przykład w aplikacji systemu Windows delegowanie długotrwałej operacji do wątku w tle umożliwia wątkowi interfejsu użytkownika zachowanie odpowiedzi podczas wykonywania operacji.

Platforma .NET udostępnia kilka standardowych wzorców projektowych asynchronicznych, których deweloperzy mogą używać do korzystania z wątków w tle i zwalniania interfejsu użytkownika lub wątków o wysokim priorytcie w celu ukończenia innych operacji w swojej SqlCommand klasie. W szczególności metody BeginExecuteNonQuery, BeginExecuteReaderi BeginExecuteXmlReader , sparowane z metodami EndExecuteNonQuery, EndExecuteReaderi EndExecuteXmlReader zapewniają obsługę asynchroniczną.

Uwaga / Notatka

Programowanie asynchroniczne to podstawowa funkcja platformy .NET. Aby uzyskać więcej informacji na temat różnych technik asynchronicznych dostępnych dla deweloperów, zobacz Wywoływanie metod synchronicznych asynchronicznie.

Chociaż używanie technik asynchronicznych z funkcjami ADO.NET nie dodaje żadnych specjalnych zagadnień, ważne jest, aby pamiętać o korzyściach i pułapkach związanych z tworzeniem aplikacji wielowątkowych. Przykłady opisane w tej sekcji wskazują kilka ważnych problemów, które deweloperzy będą musieli wziąć pod uwagę podczas kompilowania aplikacji zawierających funkcje wielowątkowane.

W tym dziale

Aplikacje systemu Windows korzystające z wywołań zwrotnych
Zawiera przykład pokazujący sposób bezpiecznego wykonywania asynchronicznego polecenia, poprawnej obsługi interakcji z formularzem i jego zawartością z oddzielnego wątku.

Aplikacje ASP.NET używające uchwytów oczekiwania
Zawiera przykład pokazujący sposób wykonywania wielu współbieżnych poleceń ze strony ASP.NET przy użyciu uchwytów oczekiwania w celu zarządzania operacją po zakończeniu wszystkich poleceń.

Sondowanie w aplikacjach konsoli
Zawiera przykład pokazujący użycie sondowania w celu oczekiwania na ukończenie asynchronicznego wykonywania polecenia z poziomu aplikacji konsolowej. Ta technika jest również prawidłowa w bibliotece klas lub innej aplikacji bez interfejsu użytkownika.

Dalsze kroki