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 ?
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:
Em Diagrama De Profundidade:
Fluxo De Pedido "
Aqui está o ... asp.net pedido da mvc fluxo: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
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?