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.
Med delegering kan du anropa en synkron metod på ett asynkront sätt. När du anropar en delegering synkront Invoke anropar metoden målmetoden direkt på den aktuella tråden.
BeginInvoke Om metoden anropas köar CLR (Common Language Runtime) begäran och returnerar omedelbart till anroparen. Målmetoden kallas asynkront för en tråd från trådpoolen. Den ursprungliga tråden, som skickade begäran, kan fortsätta köras parallellt med målmetoden. Om en callback-funktion har angetts i anropet till BeginInvoke-metoden, anropas callback-funktionen när målmetoden avslutas. I återanropsmetoden EndInvoke hämtar metoden returvärdet och eventuella parametrar för indata/utdata eller endast utdata. Om ingen återanropsmetod anges när du anropar BeginInvoke, kan EndInvoke anropas från den tråd som anropade BeginInvoke.
Viktigt!
Kompilatorer bör generera ombudsklasser med Invokemetoderna , BeginInvokeoch EndInvoke med hjälp av den ombudssignatur som anges av användaren. Metoderna BeginInvoke och EndInvoke bör dekoreras som inbyggda. Eftersom dessa metoder har markerats som inbyggda tillhandahåller CLR automatiskt implementeringen vid klassbelastningstid. Inläsaren ser till att de inte åsidosätts.
I det här avsnittet
Anropa synkrona metoder asynkront
Diskuterar användningen av ombud för att göra asynkrona anrop till vanliga metoder och innehåller enkla kodexempel som visar de fyra sätten att vänta på att ett asynkront anrop ska returneras.
Relaterade avsnitt
händelsebaserat Asynkront mönster (EAP)
Beskriver asynkron programmering i .NET.