4

你能说出 RouteCollection 和 Route Table 之间的区别吗?

我尝试了很多在谷歌搜索。但找不到任何参考资料。

4

1 回答 1

8

RouteTable是一个存储应用程序的 URL 路由的类。

ARouteCollection提供了在将 URI 映射到控制器操作时要使用的路由信息​​的集合。

RouteTable包含一个名为的属性,该属性Routes将返回一个RouteCollection. 使用RouteTableaRouteCollection来存储它需要的所有 URL 路由信息,以准确地将 URI 引导到正确的控制器操作。

在您的 global.asax 中,您将通过指定以下内容来注册将映射到各种控制器操作的路由:

/// <summary>
/// Executed when the application starts.
/// </summary>
protected void Application_Start()
{
   RegisterRoutes(RouteTable.Routes);
}

RouteCollection然后将通过以下方式将路由添加到:

/// <summary>
/// Registers the routes used by the application.
/// </summary>
/// <param name="routes">Routes to register.</param>
public static void RegisterRoutes(RouteCollection routes)
{
   routes.MapRoute(
     "Error", 
     "Error", 
     new { controller = "Error", action = "Error" });
}

这显示了实际路线信息如何存储在 aRouteCollection中,而后者又通过RouteTable.

于 2013-05-22T13:04:53.850 回答