Асинхронност в реално време с ASP.NET MVC

Модели на приложение


Комуникацията в реално време се превръща в необходимост в уеб приложенията, които в момента се изграждат, зад тях са тези уебсайтове, които са имали десетки страници за всяко от действията на потребителя, сега всичко се върти около приложенията на една-единствена страница и нейната способност да бъде динамична и асинхронен.
Това ни води до разработване на техники, които ни позволяват да приемаме и извличаме информация в реално време от данните, обработвани в приложението, така че трябва да знаем основните техники, които ни позволяват да изпълняваме тези подходи.
В този раздел ще видим някои техники за извличане на информация в реално време, тоест достигане на състояние на асинхронност, без да зависи от действията на потребителя, за да може сървърът да изпраща данните до клиента.
The класически модел на приложение е, когато нашата страница очаква отговор от сървъра, по този начин те остават в синхронно състояние, което прави всички нови данни зависими от действията, които потребителят изпълнява в клиентския слой, така че ако искате да видите актуализация, трябва направете действие, което презарежда страницата.
Асинхронен моделДругият модел е този на асинхронност от AJAX където се презареждат раздели на страницата, по този начин избягваме да презареждаме целия документ, но все пак зависим от първото събитие, което е потребителят, който предприема някакво действие.
И накрая, можем да говорим за истинска комуникация в реално време, когато информацията се изпраща от сървъра, независимо от действията на потребителя, въпреки че това звучи сложно, наистина не е, те са просто различни техники, които можем да използваме, за това ще вижте някои от наличните:
Тази техника се състои в симулиране на разговор между клиента и сървъра, като по този начин можем периодично да въвеждаме актуализации на данните, без да прекъсваме потребителя, създавайки впечатлението, че данните се изтласкват в реално време.
За да се постигне това, се прави комбинация между обажданията AJAX и функцията таймер () на JavascriptС това можем да контролираме как и кога ще бъдат получени данните, недостатъкът на това е, че губим ресурси, тъй като ако има повече заявки от получените данни, ще използваме прекалено много сървъра, което може да генерира проблеми с производителността.

Тази техника, противно на предишната, не е симулация на разговор, нито има множество обаждания, но осъществяваме едно повикване, но е много дълго, тоест като отваряне на чешмата и докато водата тече, чакаме за да падне нещо.
За това поддържаме връзката със сървъра отворена, докато има отговор, това е малко по -подобно на реално време, но проблемът е, че когато връзката е много дълга, тя може да бъде затворена или може би клиентът има достъп от местоположение, което затваря връзките по много кратък начин, поради което не е много надеждно, също така, ако отворим много нишки от този стил, можем да причиним срив на сървъра.

Вече видяхме някои основни техники за създаване на приложения с асинхронни елементи в реално време и с това научихме и техните недостатъци, в следващата част ще видим усъвършенстваните техники за тази задача.
Предишнистраница 1 от 2СледващияХареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave