Controlere asincrone în ASP.NET MVC

Construiți un controler asincron


În mod tradițional, fluxul unei aplicații web este sincron, adică facem o cerere către server și ne oprim în timp ce așteptăm răspunsul, până acum aproximativ 5 ani acest model era valabil, totuși cu noile cerințe și noile instrumente avem deja nevoie de ceva mai dinamic.
Aplicație asincronăO aplicație asincronă este una care ne permite să desfășurăm diverse activități care nu interferează una cu cealaltă și fiecare consultă o parte diferită împotriva serverului, cu aceasta salvând un document putem consulta altul, fără a fi nevoie să așteptăm un răspuns, un exemplu al acestui tip de aplicații este Gmail, unde în timp ce trimitem un e-mail putem vedea căsuța de e-mail.
În această secțiune vom vedea ce este un controler asincron și cum să-l construim folosind ASP.NET MVC.
Una dintre cele mai importante componente ale aplicațiilor noastre sunt controlerele, în ASP.NET MVC le putem face să funcționeze asincron cu acest lucru, putem preveni blocarea proceselor în timp ce facem o interogare.

Blocarea firuluiDeși de cele mai multe ori acest blocaj este atât de mic încât se pare că se fac mai multe lucruri în același timp, există momente în care trebuie să pregătim un proces mult mai greu și ar bloca firul de lucru în așa fel încât Procesul foamete, adică procese care așteaptă firul atât de mult încât să moară.
Acest lucru se întâmplă deoarece serverul începe să stiveze procesele de așteptare și vine un moment în care spațiul pe care îl poate folosi se revarsă, cu aceasta vom vedea eroarea de serviciu 503 atât de populară nu este disponibilă, pentru a evita acest lucru, putem crea un controler asincron, care nu scade timpul de executare a procesului, dar eliberează firul de procesare, astfel încât alte procese să îl poată utiliza.
Pentru ca controlorul nostru să fie asincron, trebuie să respectăm o structură de bază a acțiunilor sale, în acest fel ne putem atinge obiectivul, pentru aceasta trebuie să respectăm câteva convenții stabilite de cadru. Să vedem de ce avem nevoie:
Acțiune asincronăTrebuie să creăm o acțiune în cadrul controlerului nostru care are cuvântul Asincron în numele său așa prin convenție ASP.NET MVC veți ști care este procesul asincron. Un exemplu poate fi SearchBooksAsync, în plus, această acțiune sau metodă trebuie retur nul.
Acțiune finalizatăApoi, trebuie să creăm o acțiune pe care o putem numi odată ce procesul asincron a fost finalizat, pentru aceasta trebuie să creăm o acțiune care poate gestiona întoarcerea ActionResult, pentru aceasta trebuie să creăm o metodă cu cuvântul Efectuat în numele dvs., cum ar fi: Căutare cărți finalizate, cu aceasta vom avea deja elementele de bază necesare.
După cum putem vedea, nu avem nevoie de mult pentru a crea un controler asincron, mai presus de toate este să elaborăm logica și să respectăm puțin convențiile, astfel încât cadrul să poată determina ceea ce construim în aplicație. Bazele programării asincrone în ASP.NET MVC Nu sunt deloc complexe, în a doua parte a acestui tutorial vom vedea un exemplu mai complet al modului de creare a unui controler asincron în plus față de alte concepte importante.
Anteriorpagina 1 din 2Următorul
wave wave wave wave wave