• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NETUrl请求过程

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  一、常规情况:不是MVC应用架构

1、对ASP.NET的请求根据Web应用程序首先穿过UrlRoutingModule对象,是HTTP Module

2、再由UrlRoutingModule对象在RouteTable对象集合中按照已经定义好的路由规则去匹配Route对象(实际上是实现RouteBase对象), 如果路由不匹配, UrlRoutingModule对象什么都不做并且回到规则ASP.NETIIS请求的请求过程处理。

3、匹配成功后,得到的Route对象。

4UrlRoutingModule对象从Route对象中得到IRouteHandler对象。

5、由IRouteHandler对象创建IHttpHandler对象并传递IHttpContext对象

 

 

二、MVC框架

1、对ASP.NET的请求根据Web应用程序首先穿过UrlRoutingModule对象,是HTTP Module

2、再由UrlRoutingModule对象在RouteTable对象集合中按照已经定义好的路由规则去匹配Route对象(实际上是实现RouteBase对象), 如果路由不匹配, UrlRoutingModule对象什么都不做并且回到规则ASP.NETIIS请求的请求过程处理。

3、匹配成功后,得到的Route对象。

4UrlRoutingModule对象从Route对象中得到MvcRouteHandler对象(如上则是IRouteHanlder对象,实际还是实现了IRouteHandler接口)

5、由MvcRouteHanlder对象创建MvcHandler对象(如上则是IHttpHandler,实际还是实现了IHttpHandler接口,同时实现了IHttpAsyncHandler以及IRequiresSessionState接口)并传递RequestContext实例。

6MvcHandler对象利用RequestContext实例定义IControllerFactory对象(典型地是一个DefaultControllerFactory类的实例)用来创造控制器实例。从而构建ControllerActionInvoker对象。

7、由ControllerActionInvoker对象确定哪个Controller,哪个Action

 

 

 

对于Url原理纯属个人理解,还望达人们多多指点。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.netHandler中的IsReusable属性及在Handler中使用Session发布时间:2022-07-10
下一篇:
ASP.NETMVC基本知识发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap