【发布时间】:2013-05-01 01:06:01
【问题描述】:
我最近完成了两个 MVC 项目的合并。在调试新项目时,几乎突然之间,我项目中的单个区域开始多次触发其 RegisterArea 方法。堆栈跟踪告诉我 Application_Start 和 AreaRegistration.RegisterAllAreas 只被触发一次,但在内部,该区域被实例化了两次。
除了单一的默认路由之外,AreaRegistration 没有什么特别之处。
我不确定从哪里开始寻找解决方案,不胜感激。
【问题讨论】:
-
放一个断点,以Debugging模式启动,每次断点时检查堆栈跟踪。
-
不要粗鲁,但我知道调试我的应用程序。我已经调试了它,重构了整个九个。我正在寻找我从未遇到过的奇怪行为的可能原因。
-
如果你这样做了,那么你肯定知道第二个 RegisterArea 是从哪里调用的吗?
-
是的,来自 AreaRegistration.RegisterAllAreas,它是框架代码,可自动嗅出程序集中的 AreaRegistration 类型的类。问题是我只有一类 AreaRegistration 但它会触发两次。
-
手动清理您的项目(删除 bin 的内容),并使用 Show All Files 检查解决方案中没有不是项目可见部分的文件。如果您一直在合并项目,那么您可能会留下一些东西
标签: c# asp.net-mvc asp.net-mvc-4