03_ASP_NET_MVC3_请求处理流程(1) MVC请求入口
2015-11-24 21:25:25 0 举报
登录查看完整内容
为你推荐
查看更多
ASP_NET_MVC 请求处理流程
作者其他创作
大纲/内容
1.HttpWorkRequest对象封装成HttpContext;2.HttpApplication栈中Pop();3.HttpApplicationFactory创建HttpApplication对象并调用InitIntal()方法;
进入MVC处理流程... ...
... ...
HTTP.SYS
调用具体的Handler执行,在WebForm下就是Page的ProcessRequest方法;在Mvc里就是MvcHandler的ProcessRequest方法;
Web.Config
InitIntal()
INetInfo.exe
第11个事件
IIIS内核核心
注册HttpModule
原理:由HttpModule(UrlRouttingModuleHandler)拦截请求,并将请求转到路由规则传入的HttpHandler(MvcRouteHandler)
第一次请求触发,携带路由规则
aspnet_isapi.dll
ProcessRequest方法
HttpApplication对象实例
InitIntal()方法会遍历并执行注册的HttpModule的Init()方法
UrlRouteModule
托管代码
HttpApplication对象处理请求管道(HttpModule)
MvcRouteHandler
HttpApplicationFactory动态反射
ISAPIRuntime
非托管代码
ASP_NET_MVC3 请求处理流程
根据HttpContext,也就是Url地址,路由规则,生成路由数据对象,并将请求重定向到MVCRouteHandler返回的实例MvcHandler上。
w3svc服务
MvcHandler
HttpRequest
通过ECB指针,初始化一个HttpWorkRequest对象,ECB指针不会释放,直到请求结束,也是通过ECB将响应的内容返回给客户端
HttpRuntime
Global.asax
内核模块:处理Http请求,解析出具体的请求Url地址,端口等,然后根据元数据信息走注册的过滤器
0 条评论
回复 删除
下一页