首页 > Web开发 > 详细

Asp.net MVC路由机制

时间:2016-05-12 01:19:34      阅读:278      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!