Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 pozwala wątkowi głównemu pozostać aktywnym przez cały czas trwania 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.
Program .NET Framework 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. ADO.NET obsługuje te same wzorce projektowe 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 programu .NET Framework, a ADO.NET w pełni wykorzystuje standardowe wzorce projektowe. 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ń, prawdopodobnie więcej deweloperów będzie używać funkcji asynchronicznych w ADO.NET niż w innych obszarach programu .NET Framework. Należy 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 tej Sekcji
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 korzystające z mechanizmów synchronizacji
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.
Zobacz także
- SQL Server i ADO.NET
- Wywoływanie metod synchronicznych asynchronicznie
- Omówienie ADO.NET