Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Databasåtgärder kan ta mycket tid att slutföra. Om du vill hålla ett användargränssnitt responsivt eller undvika att blockera en begärandetråd använder du asynkrona databasmetoder i stället för att vänta synkront på att ett kommando ska slutföras.
Installera Microsoft.Data.SqlClient NuGet-paketet för SQL-klientkod. För nya applikationer använder du OpenAsync och metoderna ExecuteNonQueryAsync, ExecuteReaderAsync och ExecuteXmlReaderAsync med await. Dessa metoder utför asynkrona indata/utdata (I/O) utan att du behöver skapa en bakgrundstråd.
Microsoft.Data.SqlClient stöder även mönster för återanrop, väntehandtag och avsökning som beskrivs i det här avsnittet. Metoderna BeginExecuteNonQuery, BeginExecuteReader och BeginExecuteXmlReader paras med EndExecuteNonQuery, EndExecuteReader och EndExecuteXmlReader. Lägg inte till Asynchronous Processing=true i anslutningssträngen. Microsoft.Data.SqlClient stöder inte det nyckelordet.
Anmärkning
Använd Task-based asynchronous pattern för ny kod. Exemplen i det här avsnittet visar det mönster som stöds Begin/End för program som behöver callbacks, väntehandtag eller avsökning.
Håll varje anslutning och kommando vid liv tills dess operation har slutförts. Observera undantag när du anropar matchningsmetoden End eller väntar på Task. Uppdatera endast kontroller från användargränssnittstråden i ett skrivbordsprogram.
I det här avsnittet
Windows-program som använder återanrop Innehåller ett exempel som visar hur du kör ett asynkront kommando på ett säkert sätt och hanterar interaktion med ett formulär och dess innehåll från en separat tråd.
ASP.NET program som använder väntereferenser Innehåller ett exempel som visar hur du kör flera samtidiga kommandon från en ASP.NET sida med hjälp av Väntehandtag för att hantera åtgärden när alla kommandon har slutförts.
Avsökning i konsolprogram Innehåller ett exempel som visar användningen av avsökning för att vänta tills en asynkron kommandokörning har slutförts från ett konsolprogram. Den här tekniken är också giltig i ett klassbibliotek eller ett annat program utan användargränssnitt.