ASP.NET MVC 框架处理请求生命周期:
请求进入/xxx
IIS确定该请求应该由ASP.NET 处理
ASP.NET 给所有的HttpModule修改该请求的机会
UrlRoutingModule确定URL匹配应用程序中的一个路由配置
UrlRoutingModule从IRoute-Handler获得正确的IHttpHandler,用于在匹配的路由(最常用的是MvcRouteHandler)作为请求句柄。
MvcRouteHandler构造并返回MvcHandler
MvcHandler实现IHttpHandler,执行ProcessRequest
MvcHandler使用IControllerFactory获得IController的一个实例,使用 “controller”路由来自{ controller }/{action}/{id}的数据
找到xxx控制器并且调用其Execute方法。
Xxx控制器调用动作方法
动作方法添加对象到viewdata字典。
Xxx控制器调用该动作返回的结果,显示一个视图
Views文件夹中的动作视图显示viewdata中的对象。
从system.web.mvc.viewpage继承来的该视图执行其ProcessRequest方法
ASP.NET 将响应呈现到浏览器。
源代码在http://www.codeplex.com/aspnet