ПредишенСледващото

Методи на работа и резултатите от действието са основна част от развитието използване ASP.NET MVC.

Какво е kontroller¶

В ASP.NET контролер 5 може да бъде клас пример, който завършва в "контролер", или могат да бъдат наследени от клас, който завършва в "контролер". Контрольори следват принципа на изрични зависимости и задават всички зависимости, които са необходими за действията си, строителя чрез зависимостта инжекция.

Класовете по подразбиране на контролера:
  • Те са в "Контрольори" папка
  • наследена от Microsoft.AspNet.Mvc.Controller

Тези две споразумения не са задължителни.

Моделът Model-View-Controller Контролер е отговорен за първична обработка на искането, и създаване на модел на инстанция. Обикновено, бизнес логиката се реализира в рамките на модела.

Моделът трябва да бъде Plain Old CLR Object (POCO). вместо DbContext или вид, свързан с базата данни.

Контролерът получава в резултат на модел обработка (ако има такива) и се връща съответното представителство заедно със свързаните с нея данни. Вижте. 🔧 Преглед ASP.NET MVC и ASP.NET MVC 6 Намирането на работа.

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

методите за определяне на deystviy¶

Всяка публична метод в контролера е метод на действие. параметри за действие, свързани с данните на искането, и се потвърждават чрез свързване модел.

Методи за действия, които предприемат параметри, ModelState.IsValid собственост трябва да бъдат настроени да е вярно.

Действията следва да включват логика да получава входящи заявки. Бизнес логика обикновено се представя под формата на услуги, за които се контролера се достига чрез зависимостта инжекция. И след това предава в резултат на прилагането на действие.

Действията могат да се върнат всичко, което искате, но обикновено те се връщат копие IActionResult (или Task за асинхронни методи). Методи на работа също са отговорни за това, което ще бъде от типа на отговор.

Помощни методи kontrollera¶

Обикновено, повечето разработчици искат да наследят контролери от базов клас Controller а. Тогава контролери имат достъп до много полезни свойства и методи, включително следните методи помощни които подкрепят връщането на различни отговори:

Връща представителство, което използва модел, който да представлява HTML. Например: върнете View (клиента); HTTP статус кодове кодове за състоянието HTTP. Например: върне BadRequest (); Форматиран отговор се връща Json или нещо подобно на формата на обекта. Например: връщане Json (клиента); Отговори за състоянието на обекта вместо да се завърне на действието връща отговор за състоянието (с помощта на ОК. Създаден. CreatedAtRoute или CreatedAtAction). Например: върне Ok (); или връщане CreatedAtRoute ( "routename" стойности, newobject "); Пренасочване прави пренасочване на друго действие (чрез пренасочване,` `LocalRedirect``,` `RedirectToAction`` или RedirectToRoute). Пример: връщане RedirectToAction (" пълна ", нов) ;

Освен това, действието може просто да се върне на обекта. В този случай, обектът ще бъде форматиран въз основа на искане на клиента. Вижте. 🔧 формат.

"Разделението на труда" ¶

В повечето приложения, действието понякога ще работят заедно върху отделни части на процеса. Например, някои от приложенията могат да бъдат само на разположение на регистрирани потребители, или можете да използвате кеша. Ако искате да се приложат някои логика преди или след началото някои метод за действие, можете да използвате филтъра. Вие може значително да намали методите на използване 🔧 филтри, за да се справят с такива неща. Това ще помогне да се избегне дублирането на дейностите в рамките на, което им позволява да следват принципа на Не се (DRY) Повторете.

В допълнение, можете да използвате:
  • 🔧 обработка на грешки
  • кеширане Отговор

Често, филтри могат да бъдат използвани в заявление MVC. Освен това, алтернативата е обичай, мидълуер.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!