Asincronie în timp real cu ASP.NET MVC

Modele de aplicare


Comunicarea în timp real devine o necesitate în aplicațiile web care sunt în prezent construite, în spatele acestora se află acele site-uri web care aveau zeci de pagini pentru fiecare acțiune a utilizatorului, acum totul se învârte în jurul aplicațiilor unei singure pagini și a capacității sale de a fi dinamic și asincron.
Acest lucru ne conduce la dezvoltarea unor tehnici care ne permit să adoptăm și să extragem informații în timp real din datele manipulate în aplicație, deci trebuie să cunoaștem tehnicile de bază care ne permit să realizăm aceste abordări.
În această secțiune vom vedea câteva tehnici pentru extragerea informațiilor în timp real, adică atingerea unei stări de asincronie fără a depinde de acțiunile utilizatorului pentru ca serverul să trimită datele către client.
model clasic unei aplicații este atunci când pagina noastră așteaptă un răspuns de la server, în acest fel acestea rămân într-o stare sincronă care face ca toate datele noi să depindă de acțiunile pe care utilizatorul le execută în stratul client, deci dacă doriți să vedeți o actualizare trebuie să faceți o acțiune care reîncarcă pagina.
Model asincronCelălalt model este cel al asincroniei de către AJAX în cazul în care secțiunile paginii sunt reîncărcate, în acest fel evităm să reîncărcăm întregul document, totuși depindem în continuare de primul eveniment în care utilizatorul ia măsuri.
În cele din urmă putem vorbi despre o comunicare adevărată în timp real, atunci când informațiile sunt trimise de server indiferent de acțiunile utilizatorului, deși acest lucru pare complex, într-adevăr nu este, sunt pur și simplu diferite tehnici pe care le putem folosi, pentru aceasta vom vezi câteva dintre cele pe care le avem disponibile:
Această tehnică constă în simularea unei conversații între client și server, astfel putem aduce actualizările de date periodic fără a întrerupe utilizatorul, dând impresia că datele sunt împinse în timp real.
Pentru a realiza acest lucru, se face o combinație între apeluri AJAX și funcția temporizator () de JavascriptCu aceasta putem controla cum și când vor fi obținute datele, dezavantajul este că risipim resurse deoarece, dacă există mai multe solicitări decât datele obținute, vom folosi excesiv serverul, ceea ce poate genera probleme de performanță.

Această tehnică, spre deosebire de cea precedentă, nu este o simulare a unei conversații și nici nu există apeluri multiple, dar facem un singur apel, dar este foarte lung, adică este ca și cum ai deschide un robinet și în timp ce apa curge, așteptăm ca să cadă ceva.
Pentru aceasta, păstrăm conexiunea cu serverul deschisă până când există un răspuns, acest lucru este puțin mai asemănător cu un timp real, totuși problema este că atunci când conexiunea este foarte lungă, poate fi închisă sau poate că clientul accesează dintr-un locație care închide conexiunile într-un mod foarte scurt, prin urmare nu este foarte fiabilă, de asemenea, dacă deschidem multe fire de acest stil, putem provoca blocarea serverului.

Am văzut deja câteva tehnici de bază pentru a crea aplicații cu elemente asincrone în timp real și cu aceasta am învățat și dezavantajele acestora, în partea următoare vom vedea tehnicile avansate pentru această sarcină.
Anteriorpagina 1 din 2UrmătorulV-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave