Asinkroni kontroleri u ASP.NET MVC -u

Napravite asinkroni kontroler


Tradicionalno tok web aplikacije je sinkroni, to jest, postavljamo zahtjev poslužitelju i zaustavljamo se dok čekamo odgovor, do prije otprilike 5 godina ovaj model je bio važeći, međutim s novim zahtjevima i novim alatima već nam je potrebno nešto dinamičnije.
Asinkrona aplikacijaAsinkrona aplikacija je ona koja nam omogućuje izvršavanje različitih aktivnosti koje se međusobno ne ometaju, a svaka se konzultira s drugim dijelom protiv poslužitelja, pri čemu spremajući dokument možemo konzultirati drugi, bez čekanja na odgovor, primjer ove vrste aplikacija je Gmail, gdje prilikom slanja e -pošte možemo vidjeti pristiglu poštu.
U ovom odjeljku ćemo vidjeti što je asinkroni kontroler i kako ga izgraditi pomoću ASP.NET MVC.
Jedna od najvažnijih komponenti naših aplikacija su kontroleri, u ASP.NET MVC možemo ih natjerati da rade asinkrono, čime možemo spriječiti rušenje procesa tijekom izvršavanja upita.

Zaključavanje navojaIako je većina vremena ta blokada toliko mala da se čini da se nekoliko stvari radi u isto vrijeme, postoje trenuci kada moramo pripremiti mnogo teži proces i blokirao bi radnu nit na takav način da proces izgladnjivanje, odnosno procesi koji čekaju nit toliko dugo da umiru.
To se događa jer poslužitelj počinje slagati procese čekanja i dolazi do točke u kojoj se prostor koji može koristiti prelijeva, pri čemu ćemo vidjeti tako popularnu 503 pogrešku usluge koja nije dostupna, kako bismo to izbjegli možemo stvoriti asinkroni regulator, što ne skraćuje vrijeme koje će proces trajati, ali oslobađa nit obrade kako bi je drugi procesi mogli koristiti.
Da bi naš kontroler bio asinkroni, moramo se pridržavati osnovne strukture njegovih radnji, na ovaj način možemo postići naš cilj, za to moramo slijediti neke konvencije utvrđene okvirom. Pogledajmo što nam treba:
Asinkrono djelovanjeMoramo stvoriti radnju unutar našeg kontrolera koja ima riječ Asinkroniziraj u njegovo ime tako po dogovoru ASP.NET MVC znat ćete što je asinkroni proces. Primjer može biti SearchBooksAsync, dodatno ova radnja ili metoda mora return void.
Radnja je dovršenaZatim moramo stvoriti radnju koju možemo pozvati nakon dovršetka asinhronog procesa, za to moramo stvoriti radnju koja može podnijeti povratak ActionResult, za to moramo stvoriti metodu s riječju Dovršeno u vaše ime, kao što su: PretraživanjeKnjigaZavršeno, s tim ćemo već imati potrebne osnovne elemente.
Kao što vidimo, ne treba nam mnogo za stvaranje asinkronog kontrolera, prije svega je potrebno razraditi logiku i malo slijediti konvencije kako bi okvir mogao odrediti što gradimo u aplikaciji. Osnove asinkronog programiranja u ASP.NET MVC Oni uopće nisu složeni, u drugom dijelu ovog vodiča vidjet ćemo potpuniji primjer kako stvoriti asinkroni kontroler uz ostale važne koncepte.
Prethodnistranica 1 od 2Sljedeći
wave wave wave wave wave