我现在已经在MVC 5项目上工作了一段时间。我昨天晚上离开了办公室,它运行良好(本地和网络),今天早上突然发现我Application_Error()
文件中的Global.asax
方法抓住了一个异常在启动时说它无法在我的控制器上找到公共的ActionResult:
这是我的控制器的快照:
正如你所看到的,我正在使用AttributeRouting,直到今天早上我才遇到绝对零问题。我在routes.MapMvcAttributeRoutes();
方法的正确位置RegisterRoutes()
。
我的代码在一夜之间进行了零更改(我使用了源代码控制),我是唯一一个可以访问dev机器和存储库的人。
当我从Application_Start()
中的Global.asax
开始,它成功到达方法的末尾然后抛出ActionResult not found错误。 StackTrace没有给我带来任何帮助......我不确定现在该做什么。
有没有人经历过这样的异常,或者对我可以尝试让我的项目再次运行有任何想法?再一次,昨天晚上和今天早上我没有对代码进行任何修改。
现在它正在运行......我没有对代码进行任何更改。我已经用这个东西打了将近2个小时,它决定再次开始工作。喜欢编程。
答案 0 :(得分:0)
是的,这件事发生在我身上......
我有一个名为“AdminController”的控制器,它已经工作了3年。最近,此Controller中的1个或2个ActionResults可以随机找不到。其中一个被称为“类别”。即/管理/类别。如果我现在点击该Url,整个应用程序只是重定向回主页/根Url,并且“类别”actionresult方法永远不会在调试器中被命中。
在我的Visual Studio开发实例以及将网站发布到Azure时,此行为都是相同的。所以至少它不仅仅与网络服务器隔离..
我查看了所有已定义的路由并禁用了它们,但无济于事。我还覆盖了Global.asax中的Init方法,并再次找到了我的Categories方法,但之后由于某种原因重定向到主页根Url!
绝对不知道造成这种情况的原因......