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