asp.net基础学习之路由

百度了两位园子里两位大佬的文章,收获很多,现在记录自己的一些感悟。也许不完全正确。。

 https://www.cnblogs.com/artech/archive/2012/03/20/aspnet-routing-02.html

 https://www.cnblogs.com/wangiqngpei557/p/3379095.html

第一位大佬文章有点深也许并没有吃透。。好了。感悟如下:

众所周知,在asp.net中,一个很重要的知识点就是HttpApplication的管道模型,其中有两个概念必须知道,HttpMoudle和HttpApplication,前者相当于请求的入后,后者相当于请求的出口。说白点,其实就是不同的请求进来,先到各个moudle中先处理一边,之后会在module中会获知要进入哪一个handle中。

其实,路由机制也是一样的。可以查看到系统级别配置文件,C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config,查看httpModules配置节。发现了其实添加了UrlRoutingModule 。

其实这就是各种请求进来。会进入到UrlRoutingModule中。然后这这个模块中获取到urlhandle(名称不正确,只是为了表达和路由相关的handle)。

注:由于基础差,这些只是阅读大佬文章后,理解到的大概的路由的一个过程而已。也许不对,有待以后再修改吧。

Module中有几个概念需要注意下:RouteBase、Route、RouteCollection、RouteTable、RouteData、RequestContext 

RouteBase是Route基类。没什么好说的,而Route就是一个url模板的对象,RouteCollection是Route的强类型集合,RouteTable的一个静态全局对象Routes是RouteCollection,RouteData是请求从路由模板中匹配到的路由。RequestContext就是RouteData和HttpRequest封装起来的一个请求上下文。

总的来讲。其实还是依靠管道模型来实现路由机制的。也就是UrlRoutingModule

猜你喜欢

转载自blog.csdn.net/maoxiaohai123/article/details/84872666
今日推荐