martes, marzo 10, 2009

Comparación del ciclo de vida de una página ASP.NET Webforms y ASP.NET MVC

El ciclo de vida de una página de una aplicación ASP.NET Webforms

  1. Page.OnPreInit
  2. MasterPageControl.OnInit (for each control on the master page)
  3. Control.OnInit (for each contol on the page)
  4. MasterPage.OnInit
  5. Page.OnInit
  6. Page.OnInitComplete
  7. Page.OnPreLoad
  8. Page.OnLoad
  9. MasterPage.OnLoad
  10. MasterPageControl.OnLoad (for each control on the master page)
  11. Control.OnLoad (for each contol on the page)
  12. Page.OnXXX (control event)
  13. MasterPage.OnBubbleEvent
  14. Page.OnBubbleEvent
  15. Page.OnLoadComplete
  16. Page.OnPreRender
  17. MasterPage.OnPreRender
  18. MasterPageControl.OnPreRender (for each control on the master page)
  19. Control.OnPreRender (for each contol on the page)
  20. Page.OnPreRenderComplete
  21. MasterPageControl.SaveControlState (for each control on the master page)
  22. Control.SaveControlState (for each contol on the page)
  23. Page.SaveViewState
  24. Page.SavePageStateToPersistenceMedium
  25. Page.OnSaveStateComplete
  26. MasterPageControl.OnUnload (for each control on the master page)
  27. Control.OnUnload (for each contol on the page)
  28. MasterPage.OnUnload
  29. Page.OnUnload

Ciclo de vida de una página de una aplicación ASP.NET MVC

  1. La tabla de routeo es creada
  2. El UrlRoutingModule intercepta la solicitud
  3. Se ejecuta el MvcHandler
  4. Se ejecuta el Controller
  5. El método RenderView es ejecutado

Más información
ASP.NET Page Events Lifecycle
Stackoverflow
Stephen Walther blog

2 comentarios:

Fernando dijo...

Impresionante la diferencia del ciclo de vida, mucho mas complejo con WebForms y te da la oportunidad de poderte perder entre todo ese laberinto.

Mario Alberto Chavez dijo...

Así es Fernando, el problema es cuando creas tu controles para WebForms, ahí si es necesario conocer el ciclo de vida.

Con MVC el ciclo es muy simple, pero ademas te da funcionalidad para "conectarte" a este y poder cambiar la implementación si así lo requieres.