过去我用微软的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
原文地址:https://www.jb51.cc/aspnet/249428.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。