Есть ли способ, которым я могу отлаживать маршрут в ASP. MVC5?

В прошлом я использовал какой-то код, я думаю, Скотт Гензельман из Microsoft. Однако теперь я использую MVC5, и я не думаю, что этот код действителен.

Есть ли способ отслеживать маршруты, выполненные в MVC5, чтобы я мог знать, почему я вижу такие сообщения, как:

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

Ответы

Ответ 1

Я знаю, что поздно для OP, но для других, кто пытается отладить 404 ошибки, я нашел способ перехватить результат маршрута и посмотреть, почему он не находит ресурс.

В Global.asax.cs переопределить Init следующим образом:

    public override void Init()
    {
        base.Init();
        this.AcquireRequestState += showRouteValues;
    }

    protected void showRouteValues(object sender, EventArgs e)
    {
        var context = HttpContext.Current;
        if (context == null)
            return;
        var routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(context));
    }

Переменная routeData будет содержать информацию о маршруте по мере ее интерпретации. Я тестировал это на MVC5.

Я изначально столкнулся с этим методом в другом ответе Пола Эванса, это ссылка (спасибо @porcus за ее поиск): fooobar.com/questions/102637/...

Ответ 2

Взгляните на Glimpse. Один из модулей, к которому он подключен, - это модуль маршрутов, который позволит вам увидеть подробности о проверенных маршрутах, значениях, которые были переданы, и какие из них соответствуют (если есть).