Qual é a diferença entre Asp.net ciclo de vida da página e Asp.net ciclo de vida da Página do Mvc?

Qual é a diferença entre Asp.net ciclo de vida da página e Asp.net ciclo de vida da Página do Mvc ?

Asp.net page life cycle simply remember Silver U
s - Start
I-Inicialização
L-Load
V-Validar
Tratamento de eventos electrónicos
R-Renderização
U-Descarregar
Qual a diferença real em Mvc e Asp.net page ?

Author: Ehsan Sajjad, 2014-07-11

2 answers

ASP.NET o ciclo de vida da página é totalmente diferente das webforms, não há eventos como nós temos em Web forms, por exemplo: pre renderizer, oninit etc. sempre que pedimos uma url, a única coisa que acontece é que alguma ação do controlador é chamada e a resposta é renderizada no navegador.

ASP.NET ciclo de vida da página do MVC:

De acordo com MSDN , os seguintes passos são os principais asp.net ciclo de vida da página do mvc:

1) Encaminhamento

Encaminha o url para o seu controlador e acção

Em ASP.NET aplicação asp.net page implementa a interface IHTTPHandler.

Esta interface tem um método ProcessRequest() que é chamado quando você solicita a página. O método ProcessRequest() é responsável por processar a solicitação e gerar a resposta. Então em ASP.NET aplicação é simples, você pede uma página no url como http://mysite1\default.aspx e então ele procura por essa página no disco e executa o método processrequest e gerar a resposta.

No entanto, na aplicação MVC não funciona dessa forma. Não existe nenhuma página física para um pedido particular. Todos os pedidos são encaminhados para uma classe especial chamada Controller. O controlador é responsável por gerar a resposta e enviar o conteúdo de volta para o navegador.

2)Módulo De Encaminhamento do Url intercepta o pedido:

Sempre que fazes um pedido contra um ASP.NET a aplicação MVC, o pedido é interceptado pelo módulo HTTP UrlRoutingModule.

Quando o UrlRoutingModule intercepta um pedido, a primeira coisa que o módulo faz é terminar o HttpContext actual num objecto HttpContextWrapper.

O objecto HttpContextWrapper deriva da classe HTTPContextBase.

3)executará o manipulador MVC

MVCHandler também herdou do Eu não sou o Frank andler. Quando o manipulador de MVC executa, ele irá chamar o método de pedido de Beginprocess do httpAsyncHandler assíncronamente.

Quando o método de pedido de Processo é chamado de um novo controlador é criado. O controlador é criado a partir de um ControllerFactory. Há uma classe de Construtor ControllerBuilder que irá definir o ControllerFactory.

Você pode criar o seu próprio ControllerFactory também, mas por padrão será DefaultControllerFactory. O contexto do pedido e a nome do Contoller será passado para o método CreateController método para obter o Contoller particular.

4) O Controlador Executa

O controlador é chamado e a sua acção é solicitada pelo utilizador.

O método Execute () começa por criar o objecto TempData. TempData é um dicionário derivado da classe TempDataDictionary e armazenado em sessões de curta duração e é uma chave de cadeia e valor objeto.

A O método Execute () obtém a acção do RouteData com base na URL.A classe do controlador, em seguida, chamar o ContollerActionInvoker que constrói uma lista de parâmetros a partir do pedido.

Estes parâmetros, extraídos dos parâmetros do pedido, actuarão como parâmetros do método.Os parâmetros serão passados a qualquer método de controle que seja executado.

Finalmente ele vai chamar o método de InvokeAction para executar a ação.

5)Método De Desenho Da Vista Chamada

Finalmente quando chamamos reutrn View() o método de renderização é chamado e coloca o reponse na página a ser exibida.

O controlador normalmente executa o método de redirecionamento ou o método de revisão. Quando você chama o método de RenderView() de um controlador,a chamada é delegada para o método de RenderView() do ViewEngine atual.

A WebFormViewEngine.O método RenderView() usa uma classe chamada classe ViewLocator para encontrar vista. Em seguida, ele usa um BuildManager para criar uma instância de uma classe ViewPage a partir de seu caminho.

A seguir, se a página tem uma página principal, a localização da página principal é definida se a página tem dados de visualização, a visualização é definida. Finalmente, o método RenderView() é chamado na página de visualização.

Diagrama De Explicação Abstracto:

enter image description here

Em Diagrama De Profundidade:

enter image description here

Fluxo De Pedido "

Aqui está o ... asp.net pedido da mvc fluxo:

enter image description here

Ligações De Referência

Para compreensão em detalhes, consulte: compreensão do ciclo de vida da página do MVC

Também Aqui está outro bom artigo explicando o ciclo de vida da página MVC

 42
Author: Ehsan Sajjad, 2016-09-13 01:00:39

ASP.NET formulários Web

  • ASP.NET formulários Web usam a abordagem de padrão do controlador de Páginas para renderização esquema. Nesta abordagem, cada página tem seu próprio controlador, i.e., código por trás do arquivo que processa o pedido.
  • a fim de alcançar um comportamento de Estado, o viewstate é usado. O objectivo era: para dar aos desenvolvedores a mesma experiência de uma WinForms típica aplicacao.

ASP.NET MVC

  • Ele usa a abordagem de Controle Frontal. Que abordagem significa uma controlador para todas as páginas processa os pedidos.

  • ASP.NET MVC approach is stateless as that of the web. Então não há conceito de viewstate.

Mas na realidade em MVC não há nenhum ciclo de vida da página per se( porque não há nenhum objeto de' página'), mas há um pipeline de processamento de Pedidos:

Você poderia receber ajuda de aqui boa descrição {[[31]}ou se referir a MVC4 e page life cycle?

 4
Author: Tushar, 2017-05-23 12:10:29