首先,在MVC应用程序的入口函数Application_Start()中(在事件在GLOBAL文件中),通过RouteConfig.RegisterRoutes(RouteTable.Routes)注册路由集合信息。RouteTable.Routes是一个公开的路由集对象,用于保存路由信息集合信息,类型问RouteCollection类。RegisterRoutes中的具体代码如下:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //忽省路由,交友IIS处理
routes.MapRoute(
name: "Default", //路由名称
url: "{controller}/{action}/{id}", //路由格式
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } , //路由默认值 constraints:new {id=@"\d+"} //路由约束 id必须是数字,使用匿名
);
//路由二 ,可以添加多个路由
toutes.MapRoute(
)
}
}
HTTP请求发过来的URL如果和某条路由规则匹配成过,则交友MvcHander处理,否则处理失败。