Innholdsfortegnelse
Bygg asynkron kontroller
Tradisjonelt er flyten til en webapplikasjon synkron, det vil si at vi sender en forespørsel til serveren, og vi stopper mens vi venter på svaret, for omtrent 5 år siden var denne modellen gyldig, men med de nye kravene og de nye verktøyene trenger vi allerede noe mer dynamisk.
Asynkron applikasjonEn asynkron applikasjon er en som lar oss utføre forskjellige aktiviteter som ikke forstyrrer hverandre, og hver enkelt konsulterer en annen del mot serveren, med dette mens vi lagrer et dokument kan vi konsultere en annen, uten å måtte vente på svar, et eksempel på denne typen applikasjoner er Gmail, hvor vi kan se innboksen mens du sender en e -post.
I denne delen vil vi se hva en asynkron kontroller er og hvordan du bygger den ved hjelp av ASP.NET MVC.
En av de viktigste komponentene i applikasjonene våre er kontrollerne, i ASP.NET MVC vi kan få dem til å fungere asynkront med dette, vi kan forhindre at prosessene krasjer mens du gjør en spørring.
GjengelåsSelv om blokkeringen mesteparten av tiden er så liten at det ser ut til at flere ting blir gjort samtidig, er det tidspunkter hvor vi må forberede en mye tyngre prosess, og det vil blokkere arbeidstråden på en slik måte at prosessen sult, det vil si prosesser som venter på tråden så lenge at de dør.
Dette skjer fordi serveren begynner å stable venteprosessene og det kommer et punkt hvor plassen den kan bruke overløper, med dette vil vi se den så populære 503 -tjenestefeilen ikke tilgjengelig, for å unngå dette kan vi lage en asynkron kontroller, som ikke reduserer tiden prosessen vil vare utført, men det frigjør behandlingstråden slik at andre prosesser kan bruke den.
For at kontrolleren vår skal være asynkron, må vi overholde en grunnstruktur for dens handlinger, på denne måten kan vi nå målet vårt, for dette må vi følge noen konvensjoner som er fastsatt av rammeverket. La oss se hva vi trenger:
Asynkron handlingVi må lage en handling i kontrolleren vår som har ordet Asynk i hans navn så etter konvensjon ASP.NET MVC du vil vite hva den asynkrone prosessen er. Et eksempel kan være SearchBooksAsyncI tillegg må denne handlingen eller metoden returner ugyldig.
Handlingen er fullførtDeretter må vi lage en handling som vi kan kalle når den asynkrone prosessen er fullført, for dette må vi lage en handling som kan håndtere retur av ActionResult, for dette må vi lage en metode med ordet Fullført på dine vegne, for eksempel: SearchBooksCompleted, med dette vil vi allerede ha de nødvendige grunnleggende elementene.
Som vi kan se, trenger vi ikke mye for å lage en asynkron kontroller, fremfor alt er det å utdype logikken og følge konvensjonene litt slik at rammeverket kan bestemme hva vi bygger i applikasjonen. Grunnleggende om asynkron programmering i ASP.NET MVC De er ikke komplekse i det hele tatt, i den andre delen av denne opplæringen vil vi se et mer komplett eksempel på hvordan du lager en asynkron kontroller i tillegg til andre viktige konsepter.
Tidligereside 1 av 2Neste