В глубинах интернета обнаружился интересный инструмент “Url Routing Debugger”, предназначенный для отладки маршрутов задаваемых с помощью System.Web.Routing.
Достаточно добавить RouteDebug.dll в референсы проекта, и прописать в Global.asax сразу после регистрации маршрутов следущий код:
using System;
using System.Web.Routing;
namespace Home.Andir.Examples
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
}
private void RegisterRoutes(RouteCollection routes)
{
routes.Add(
new Route(
"route/{action}",
new StopRoutingHandler())
);
routes.Add(
new Route(
"test/id={id}",
new StopRoutingHandler())
);
routes.Add(
new Route(
"{controller}/{action}/{id}",
new RouteValueDictionary {
{ "controller", "Home" },
{ "action", "Index" },
{ "id", "" } },
new StopRoutingHandler())
);
}
}
}
Отладчик, подменяет все заданные IRouteHandler на свой DebugRouteHandler и теперь, если перейти на любой заданный маршрут, то можно увидеть следующую картину:
Здесь можно увидеть список всех зарегистрированных маршрутов и порядок их срабатывания (в первой колонке).
Комментариев нет:
Отправить комментарий
Публикуются только комментарии, которые показались автору блога заслуживающими внимания.