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

Изградете асинхронен контролер


Традиционно потокът на уеб приложение е синхронно, тоест правим заявка към сървъра и спираме, докато чакаме отговора, до преди около 5 години този модел беше валиден, но с новите изисквания и новите инструменти вече имаме нужда от нещо по -динамично.
Асинхронно приложениеАсинхронното приложение е това, което ни позволява да извършваме различни дейности, които не се намесват помежду си и всеки се консултира с различна част срещу сървъра, като по този начин, запазвайки документ, можем да се консултираме с друг, без да се налага да чакаме отговор, пример за такъв тип приложения е Gmail, където при изпращане на имейл можем да видим входящата поща.
В този раздел ще видим какво е асинхронен контролер и как да го изградим с помощта ASP.NET MVC.
Един от най -важните компоненти на нашите приложения са контролерите, в ASP.NET MVC можем да ги накараме да работят асинхронно с това можем да предотвратим сривовете на процесите, докато правите заявка.

Заключване на конецаВъпреки че през повечето време това блокиране е толкова малко, че изглежда, че се правят няколко неща едновременно, има моменти, в които трябва да подготвим много по -тежък процес и той би блокирал работната нишка по такъв начин, че процесът глад, тоест процеси, които чакат нишката толкова дълго, че да умрат.
Това се случва, защото сървърът започва да подрежда процесите на изчакване и идва момент, в който пространството, което може да използва, препълва, като с това ще видим така популярната грешка на услугата 503, която не е налична, за да избегнем това, можем да създадем асинхронен контролер, което не намалява времето за последно изпълнение на процеса, но освобождава обработващата нишка, така че други процеси да могат да я използват.
За да бъде нашият контролер асинхронен, трябва да се съобразим с основна структура на неговите действия, по този начин можем да постигнем целта си, за това трябва да следваме някои конвенции, установени от рамката. Нека да видим от какво имаме нужда:
Асинхронно действиеТрябва да създадем действие в нашия контролер, което има думата Асинхронизиране на негово име така по споразумение ASP.NET MVC ще знаете какъв е асинхронният процес. Пример може да бъде SearchBooksAsync, допълнително това действие или метод трябва връщане на нищожност.
Действието е завършеноСлед това трябва да създадем действие, което можем да извикаме, след като асинхронният процес приключи, за това трябва да създадем действие, което може да се справи с връщането на ActionResult, за това трябва да създадем метод с думата Завършен от ваше име, като например: SearchBooksCompleted, с това вече ще имаме необходимите основни елементи.
Както виждаме, не се нуждаем от много, за да създадем асинхронен контролер, преди всичко е да разработим логиката и да следваме малко конвенциите, така че рамката да може да определи какво изграждаме в приложението. Основите на асинхронното програмиране в ASP.NET MVC Те изобщо не са сложни, във втората част на този урок ще видим по -пълен пример за това как да създадем асинхронен контролер в допълнение към други важни концепции.
Предишнистраница 1 от 2Следващия
wave wave wave wave wave