Boas galera,

Hoje venho falar sobre uma coisa muito importante que é o ciclo de vida de uma aplicação MVC.

Todo desenvolvedor que for se aventurar no mundo do ASP.Net MVC ou mesmo pessoas que já usam, é obrigatório conhecer o seu ciclo de vida.

Ciclo de Vida do ASP.Net MVC

Acima na imagem você pode ver desde a requisição ao servidor (HTTP Request) até o retorno para o navegador (Response).

Abaixo descrevo de forma mais simplificada as suas etapas:

HTTP Request: É a porta de entrada do servidor que receberá a sua requisição e as informações para que todo o processo se inicie.
Routing: É aqui onde onde o MVC identifica qual formato da rota ele vai usar baseado nas configurações definidas no ‘global.asax’, então ele pegará a rota correta baseado em sua requisição e direcionará para o Controller correto.
Controller: Aqui é chamado a Action correta contendo a sua principal lógica de negócio alem de definir se usará uma View e qual View será usada.
ViewResult / ViewEngine / View: Agrupei este 3 pois eles andam de mãos dadas. Definido o tipo de ViewResult que será usada e os dados que serão enviadas para a View, é na ViewEngine(Asp.Net, Razor, etc) onde o MVC pegará os dados vindo do Controller e uma View e montará o resultado a ser devolvido.
Response: O resultado das informações será enviada para o navegador.

Observações:

Preciso dizer que nem toda requisição para o servidor necessita propriamente de uma View, bem como nem todas as requisições retornam um HTML, pode ser um XML, JSON, etc.
Quase em todas as etapas descritas poderá conter uma lógica, bem como uma etapa poderá pular alguma outra etapa, isso vai depender muito do cenário que você escolheu.
Quando eu me refiro a ‘dados’ que será enviado para a View nem sempre eu estou falando do Model, pois posso enviar outros tipos de informações pela ViewBag.

Aqui eu tentei simplificar ao máximo como é o ciclo de vida de uma aplicação ASP.Net MVC e espero que tenha ajudado, e não deixe curtir e compartilhar, até a próxima…