asp.net MVC 源码分析

先上一张图吧 asp.net请求机制的图  by传智播客邹华栋老师

然后是 邹老师添加MVC请求过程的图

其实MVC 是在.netframework上加了一个过滤器  HttpModule 在C:\Windows\Microsoft.NET\Framework\v4.0.30319

下的配置文件里加入的  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />

网站在第一次请求的时候会把这个类 创建出来调用其Init()方法  注册到事件管道上

1浏览器通过报文发送http请求 到服务器IIS

2IIS 把请求交给扩展模块ASPNET_ISAPI.dll (C++写的非托管程序,相当于IIS与framework的中间程序)

3 framework创建Httpcontext请求上下文 (request/response/session/application/cookie/server...)

4通过HttpApplicationFactory 工厂创建HttpApplicaiton 调用它的PR方法 (事件管道)

5 第七个事件创建MvcHanlder 存入HttpContext的私有属性remapHandler里(可以通过.net reflector看到)

6第八个事件就是判断这个remapHandler里是不是为空 如果不是为空的话就 Httpcontent.RemapHandler(mvcHandler);

7在11/12方法之间执行MvcHandler的PR方法创建控制器对象

 

转载于:https://www.cnblogs.com/lxtblogs/p/4787562.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值