14

Estoy tratando de aprender MVC en detalle, y me pregunto ¿cuál es el flujo funcional exacta internamente, en el sentido de qué funciones (funciones importantes) se llaman y lo que hacen cuando la aplicación comienza y qué funciones se llaman aparte de las acciones del controlador que escribimos en nuestra aplicación a medida que avanzamos.ejecución en MVC

La ayuda en este sentido será muy apreciada. Sugiera algunos buenos recursos si encuentra alguno al respecto.

Gracias!

Respuesta

19

Éstos son los pasos detallados:

  1. petición se produce en ASP.NET
  2. ASP.NET enrutamiento encuentra la coincidencia ruta llamando RouteCollection.GetRouteData
  3. Esto a su vez llama RouteBase.GetRouteData en cada ruta hasta que encuentra un partido
  4. el IRouteHandler para la ruta coincidente tiene su método GetHttpHandler llamado
  5. el MvcHandler ejecuta (ProcessRequest i llama)
  6. Los MVC localiza fábrica controlador y crea el controlador en CreateController
  7. El ControllerActionInvoker determina qué acción para ejecutarse en InvokeAction
  8. Los AuthorizationFilter ejecuta la etapa (esto incluye el método de autorización en el controlador en sí)
  9. la etapa ActionExecuting ejecuta
  10. se ejecuta la acción solicitada método
  11. la etapa ActionExecuted ejecuta
  12. Si hay un objeto de resultado entonces la etapa ResultExecuting realiza
  13. Si el resultado no fue cancelada luego se ejecuta el método de la ActionResult ExecuteResult
  14. La etapa ResultExecuted ejecuta
  15. Si ocurrió un error entonces la etapa Exception realiza

También me gustaría referirme al MVC Snake Diagram que uso en muchas presentaciones en ASP.NET MVC. Aquí está la imagen completa: alt text http://weblogs.asp.net/blogs/leftslipper/WindowsLiveWriter/ASP.NETMVCDesignPhilosophy_F491/MVC_Snake_2.png

La publicación del blog que he vinculado describe algunos de los conceptos utilizados en ASP.NET MVC con respecto a cómo los datos fluyen a través de la aplicación.

+0

Conozco este diagrama de serpientes, lamentablemente esto no me da mucha información sobre las funciones que se llaman. Gracias –

+3

Esto parece mejor: http://www.codethinked.com/post/2008/09/27/ASPNET-MVC-Request-Flow.aspx – LukLed

+0

Actualicé el texto para incluir más detalles. – Eilon

Cuestiones relacionadas