vc程序启动顺序为
1、assembly自定义属性:PreApplicationStartMethod的标识(MVC中在System.Web.Mvc程序集初始化时执行的添加httpmodules模块,并且绑定BeginRequest事件)。
2、Global.asax中Application_Start
3、httpModules模块中的Init方法。
4、执行~/_appstart.cshtml或~/_appstart.vbhtml
5、执行WebPageHttpModule中静态全局ApplicationStart事件
6、执行WebPageHttpModule中静态全局Initialize事件
7、绑定WebPageHttpModule模块中PostResolveRequestCache、BeginRequest、EndRequest事件。mvc的页面执行不是使用的BeginRequest事件中执行的,而是使用System.Web.Routing库实现的。
8、HttpModules中ASP.NET生命周执行BeginRequest,PageInit,Load,Render
Razer模板执行顺序
1、第一次程序启动执行:_appstart.cshtml
2、第一次执行模板,递归当模板下目录中向上的所有_ViewStart.cshtml。
3、编译控制
4、执行各模板
5、输出内容