有没有办法在ASP中调试路由.MVC5?

16 asp.net-mvc asp.net-mvc-5

在过去,我认为微软的Scott Hanselman使用了一些代码.但是现在我正在使用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.
Run Code Online (Sandbox Code Playgroud)

c0y*_*teX 17

我知道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));
    }
Run Code Online (Sandbox Code Playgroud)

routeData变量将举行的路线信息,因为它是被解释.我在MVC5上测试了这个.

我最初在Paul Evans的另一个回答中提到了这个方法,这是链接(感谢@porcus找到它):stackoverflow.com/a/25466524

  • 以下是您可能从以下代码段获得的其他SO答案的链接:http://stackoverflow.com/a/25466524我赞扬您尝试提供归因. (2认同)

And*_*NET 3

看看一瞥。它附带的模块之一是路由模块,它允许您查看有关已检查的路由、传入的值以及匹配的值(如果有)的详细信息。

  • 如果我的路由与某个控制器匹配,这很好,但是如何调试导致 404 错误的路由呢? (5认同)