Настройка ASP.NET MVC - наследовать или изменять каркас
Если вы хотите изменить способ обработки маршрутов, можете ли вы сделать это в проекте MVC ИЛИ нужно ли изменять MVC Framework?
Например, допустим, у вас есть стандартный код в RegisterRoutes из Global.asax.cs:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
Но допустим, что вы действительно хотите, чтобы ваш пользовательский класс перехватывал все входящие запросы и направлял их особым образом. Можно ли это сделать с помощью Inheriting из класса инфраструктуры MVC с последующей настройкой, или вам действительно нужно изменить код инфраструктуры?
1 ответ
Расширяя, вам просто нужно написать собственный RouteHandler.
Смотреть на:
ASP.NET MVC, Управление структурой URL
Разработка Custom RouteHandler
Или другой планеты в сети.
РЕДАКТИРОВАТЬ:
Вы можете сделать еще больше, расширив RouteBase и добавив его в маршруты.
routes.Add("CoolRouter", new CoolRouter());