URL Routing组件

• System.Web.Routing.dll
• 独立于ASP.NET MVC框架的组件,可用于任意ASP.NET应用程序
• ASP.NET MVC框架开放源代码
• URL Routing组件目前并不开放
• 将URL转换为RouteData等数据并指向相应的Controller和Action

URL Routing接受到用户在浏览器中输入的URL请求,经过路由匹配后将URL映射到相应的Controller。

URL Routing_第1张图片

MVC是根据URL进行驱动的,根据程序中定制的规则(Routing maps)来确定Controller,Action以及其它各种参数。

Routing组件的使用
• 配置UrlRoutingModule
• 在Application_Start时添加规则
– 应用程序接收到第一个请求前执行
• 能够随时添加或删除规则
– 锁
• 规则的顺序非常重要
• 是否在找到物理文件的情况下继续映射
– RouteExistingFiles属性

Route Class
• URL
– "{controller}/{action}/{id}"
• Defaults
– action="Index", id=""
• Constraints
– year="\d{4}", httpMethod=“POST"
• Data Tokens
• Route Handler

URL Routing Debugger
• 使用URL Routing Debugger可以快速检验
一个URL是否被某个规则采纳
– 今后课程也会提到对Routing进行单元测试或测试驱动开发
• http://haacked.com/archive/2008/03/13/urlrouting-debugger.aspx