Indholdsfortegnelse
Byg asynkron controller
Traditionelt er strømmen af en webapplikation synkron, det vil sige, vi sender en forespørgsel til serveren, og vi stopper, mens vi venter på svaret, indtil denne model for cirka 5 år siden var gyldig, men med de nye krav og de nye værktøjer har vi allerede brug for noget mere dynamisk.
Asynkron applikationEn asynkron applikation er en, der giver os mulighed for at udføre forskellige aktiviteter, der ikke forstyrrer hinanden, og hver enkelt konsulterer en anden del mod serveren, med dette mens vi gemmer et dokument, kan vi konsultere en anden uden at skulle vente på et svar, et eksempel på denne type applikationer er Gmail, hvor vi mens vi sender en e -mail kan se indbakken.
I dette afsnit vil vi se, hvad en asynkron controller er, og hvordan man bygger den ved hjælp af ASP.NET MVC.
En af de vigtigste komponenter i vores applikationer er controllerne i ASP.NET MVC vi kan få dem til at fungere asynkront med dette, vi kan forhindre processerne i at gå ned, mens du foretager en forespørgsel.
GevindlåsSelvom denne blokering for det meste er så lille, at det ser ud til, at der bliver gjort flere ting på samme tid, er der tidspunkter, hvor vi skal forberede en meget tungere proces, og det ville blokere arbejdstråden på en sådan måde, at processen sult, det vil sige processer, der venter på tråden så længe, at de dør.
Dette sker, fordi serveren begynder at stable venteprocesserne, og der kommer et punkt, hvor pladsen, den kan bruge, flyder over, med dette ser vi den så populære 503 servicefejl ikke tilgængelig, for at undgå dette kan vi oprette en asynkron controller, hvilket ikke reducerer den tid, som processen vil sidst udføre, men det frigør behandlingstråden, så andre processer kan bruge den.
For at vores controller skal være asynkron, skal vi overholde en grundstruktur for dens handlinger, på denne måde kan vi nå vores mål, for dette skal vi følge nogle konventioner, der er fastlagt af rammen. Lad os se, hvad vi har brug for:
Asynkron handlingVi skal oprette en handling i vores controller, der har ordet Asynk i hans navn så ved konvention ASP.NET MVC du ved, hvad den asynkrone proces er. Et eksempel kan være Søg bøgerAsynk, desuden skal denne handling eller metode returnere ugyldig.
Handlingen er afsluttetDerefter skal vi oprette en handling, som vi kan kalde, når den asynkrone proces er afsluttet, for dette skal vi oprette en handling, der kan håndtere tilbagevenden af ActionResult, til dette skal vi oprette en metode med ordet Afsluttet på dine vegne, f.eks .: SearchBooksCompleted, med dette vil vi allerede have de nødvendige grundelementer.
Som vi kan se, behøver vi ikke meget for at oprette en asynkron controller, frem for alt er det at uddybe logikken og følge konventionerne lidt, så rammen kan bestemme, hvad vi bygger i applikationen. Grundlæggende om asynkron programmering i ASP.NET MVC De er slet ikke komplekse, i anden del af denne vejledning vil vi se et mere komplet eksempel på, hvordan man opretter en asynkron controller ud over andre vigtige begreber.
Tidligereside 1 af 2Næste