Asynkron metodeopkald

Forfatter: Lewis Jackson
Oprettelsesdato: 8 Kan 2021
Opdateringsdato: 25 Juni 2024
Anonim
Flutter : Network call example with provider | POST | amplifyabhi
Video.: Flutter : Network call example with provider | POST | amplifyabhi

Indhold

Definition - Hvad betyder asynkron metodekald?

Et asynkron metodekald er en metode, der bruges i .NET-programmering, der vender tilbage til den, der ringer, umiddelbart inden afslutningen af ​​dens behandling og uden at blokere den opkaldstråd.

Når en applikation kalder en asynkron metode, kan den samtidigt udføres sammen med udførelsen af ​​den asynkrone metode, der udfører dens opgave. En asynkron metode kører i en tråd adskilt fra hovedapplikationstråden. Behandlingsresultater hentes gennem et andet opkald på en anden tråd.

Asynkrone metoder hjælper med at optimere udførelsen af ​​ressourcer, der resulterer i skalerbar applikation. Disse bruges til at udføre tidskrævende opgaver, såsom åbning af store filer, forbindelse til fjerncomputere, forespørgsel efter en database, opkald til webtjenester og ASP.NET-webformularer.

Asynkron metodeopkald kan også kaldes asynchronous method invocation (AMI).


En introduktion til Microsoft Azure og Microsoft Cloud | Gennem denne vejledning lærer du, hvad cloud computing handler om, og hvordan Microsoft Azure kan hjælpe dig med at migrere og drive din virksomhed fra skyen.

Techopedia forklarer opkald til asynkron metode

Asynkron metode adskiller sig fra synkron metode på den måde, hvorpå den vender tilbage fra opkaldet. Mens et asynkron metodekald straks vender tilbage, hvilket gør det muligt for opkaldsprogrammet at udføre andre operationer, venter synkronmetodekald på, at metoden er færdig, før man fortsætter med programstrømmen.

.NET-rammen har indbygget asynkron infrastruktur, så enhver metode kan påberåbes asynkront uden at ændre dens kode.

.NET-ramme giver to designmønstre til implementering af den asynkrone metode, som er dem, der bruger asynkron delegater (IASyncResult-objekter) og begivenheder. Asynkron delegatmønster er mere komplekst og giver fleksibilitet, hvilket gør det velegnet til forskellige komplekse programmeringsmodeller. Den begivenhedsbaserede model er enkel og bør bruges i de fleste tilfælde.

I det asynkrone delegatmønster bruger et delegeret objekt to metoder: BeginInvoke og EndInvoke. BeginInvoke har en liste over parametre, der ligner dens indpakket funktion sammen med to ekstra valgfrie parametre; det returnerer IAsyncResult-objektet. EndInvoke returnerer to parametre (ud og ref type) sammen med IAsyncResult objektet. BeginInvoke bruges til at starte det asynkrone opkald, mens EndInvoke bruges til at hente resultaterne af det asynkrone opkald.

Begivenhedsbaserede asynkrone mønstre bruger en klasse, der har en eller flere metoder, kaldet MethodNameAsync, som har tilsvarende synkrone versioner, der udføres på den aktuelle tråd. Begivenhedsbaserede mønstre kan også have en MethodNameComplet begivenhed og MethodNameAsyncCancel-metode. Dette mønster gør det muligt for klassen at kommunikere med afventende asynkrone operationer ved hjælp af delegeret begivenhedsmodel.

Følgende er et par tip relateret til asynkrone metoder:


  • For høj samtid skal asynkrone metoder undgås
  • Der skal udvises omhu, når du videregiver referencer til delt objekt
  • EndXXX (kaldet i slutningen af ​​en asynkron operation) skal kaldes for at gendanne undtagelser og undgå fejl
  • Ved at fange og gemme alle undtagelsesobjekter i asynkron metode, kan de trækkes tilbage under EndXXX-opkaldet
  • Kontroller i brugergrænsefladen, der initierer langvarig asynkron operation, skal deaktiveres, hvis de kun er nødvendige til dette formål
  • Asynkrone metoder skal implementeres med en forståelse af multithreading, og hvor de viser sig at være mere effektive end ved hjælp af synkrone metoder.