码迷,mamicode.com
首页 > Web开发 > 详细

Asp.net MVC路由机制

时间:2016-05-12 01:22:40      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

C:/Windows/Microsoft.NET/Framwork/v4.0.30319/config/web.config->

httpModules->

System.Web.Routing.UrlRoutingModule->

Init->

application.PostResolveRequestCache+=new EventHandler(this.OnApplicationPostResolveRequestCache);

技术分享

RouteCollectionExtensions类--RouteCollection扩展类  

路由注册 MapRoute

技术分享

技术分享

技术分享

网站第一次被请求时,进行路由注册,路由表里就有路由数据了

路由数据在事件管道之前就已存在

UrlRoutingModule类

技术分享

第7个事件(PostResolveRequestCache)上被注册了OnApplicationPostResolveRequestCache方法

技术分享

技术分享

技术分享

一旦URL匹配到路由规则,则创建MVCHandler存入HttpContext;

第8个事件会检查HttpContext里的remapHandler,如果为空,则创建页面类对象。

第11个事件(PreRequestHandlerExecute)、12个事件之间(PostRequestHandlerExecute)调用MVCHandler对象的ProcessRequest方法

1、根据URL获取控制器类名创建对应控制器类对象

2、根据URL获取Action方法名,并调用控制器类对象里对应方法

3、找到视图引擎并获取ViewEngineResult

4、获取请求对应的视图(IView)对象

5、调用Render方法生成HTML

Asp.net MVC路由机制

标签:

原文地址:http://www.cnblogs.com/newstar87/p/5484041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!