0
我被某人問過,假設我已經爲route.config中的URL定義了路由,並且我已經在基於屬性的路由中定義了相同的路由。那麼在每種情況下誰的優先級都會更高。如果我們可以在route.config中實現相同的功能,那麼基於屬性的路由的用途是什麼?路由配置與基於屬性的路由mvc其優先級更高
我被某人問過,假設我已經爲route.config中的URL定義了路由,並且我已經在基於屬性的路由中定義了相同的路由。那麼在每種情況下誰的優先級都會更高。如果我們可以在route.config中實現相同的功能,那麼基於屬性的路由的用途是什麼?路由配置與基於屬性的路由mvc其優先級更高
然後,其優先級將在每種情況下更多。
這取決於您是否在傳統路線之前或之後調用routes.MapMvcAttributeRoutes()
擴展方法。例如:
public static void RegisterRoutes(RouteCollection routes)
{
...
routes.MapMvcAttributeRoutes(); //Attribute routing
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
在這種情況下,基於屬性的路由將首先添加到路由表中並將優先。
如果我們可以實現在route.config中相同的 ,那麼基於屬性的路由的用途是什麼?
屬性路由爲您提供了相當多的靈活性,並將路由放置在實際使用它們的操作旁邊。但這確實是一個偏好問題。微軟已經添加了基於屬性的路線,以便與傳統方法相比,在應用程序中定義路線的替代方法。