加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 有一种方法我可以在ASP中调试路由. MVC5?

发布时间:2020-12-15 22:39:55 所属栏目:asp.Net 来源:网络整理
导读:过去我用微软的Scott Hanselman的一些代码.不过现在我使用的是MVC5,我不认为该代码是有效的. 有没有办法我可以跟踪在MVC5中采取的路线,以便我可以知道为什么我看到消息像: HTTP Error 404.0 - Not FoundThe resource you are looking for has been removed,
过去我用微软的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.

解决方法

我知道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找到它):stackoverflow.com/a/25466524

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读