您的位置:首页 > 编程语言 > ASP

[转]ASP.NET MVC 请求生命周期

2013-03-15 17:08 183 查看
本文转自:/article/5681184.html

当一个asp.net mvc应用程序提出请求,为了响应请求,包含一些请求执行流程步骤! 在asp.net mvc应用程序Http request
和Http response 过程中,主要包含8个步骤:
1)RouteTable(路由表)的创建
2)UrlRoutingModule 请求拦截
3)Routing engine 确定route
4)route handler 创建相关的IHttpHandler实例
5)IHttpHandler实例确定Controller(控制器)
6)Controller执行
7)一个视图引擎创建
8) 视图呈现
主要流程图如下:

代码

publicclass MvcHandler : IHttpAsyncHandler, IHttpHandler, IRequiresSessionState
{
// 主要的Fields
private ControllerBuilder _controllerBuilder;
}
ControllerBuilder类主要有一个方法GetControllerFactory
publicclass ControllerBuilder
{
public IControllerFactory GetControllerFactory();
}

通过实现IControllerFactory 工厂 创建一个Controller

6)Controller执行
所有的controller 逻辑调用执行时,actions请求被执行!当controller的逻辑被执行时,会返回一个ActionResult。一个ActionResult实例,会触发呈现一个View(视图),当触发发生时,一个视图引擎被创建,进行进一步的处理

7)一个视图引擎创建
视图引擎实例会创建一个IView接口实例,返回一个ViewEngineResult实例,

8) 视图呈现
IView实例编译请求视图,提供Render方法调用的数据!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: