【问题标题】:How to find reason for StackOverflowException in System.Web.dll after upgrading an ASP.NET MVC 2 project?升级 ASP.NET MVC 2 项目后如何在 System.Web.dll 中查找 StackOverflowException 的原因?
【发布时间】:2015-08-27 09:20:35
【问题描述】:

我已将 ASP.NET MVC 2 解决方案升级到 MVC 4*。运行该站点时,会显示起始页,但不久之后 System.Web.dll 中会引发 StackOverflowException(有时在 System.Runtime.Serialization.dll 中),因此没有要检查的调用堆栈。我已经浏览了启动序列代码,但没有发现任何可疑之处。
我该怎么做才能找到问题?

*尝试了描述herehere的手动变体以及使用thisthis工具的自动变体

【问题讨论】:

  • 您可以尝试附加到框架源代码进行调试,resharper 可以轻松完成。
  • @bateloche 的建议可能会通过以下链接变得更容易:referencesource.microsoft.com :)
  • 通过 Testing Random Stuff Driven Development 我测试在发生 stackoverflow 异常的页面上插入一个结束单元格标记 ()(所有其他单元格都有结束标记) 这使错误消失了!很高兴它起作用了,但我被蒙在鼓里了。
  • @Christian 我今天遇到了同样的问题,在由于 GET 请求显示页面几秒钟后,System.Web.dll 或 System.Runtime.Serialization.dll 中也出现异常.我发现这是由于关闭标签格式错误(实际上,在一个地方有一个打开的 标记而不是一个关闭的 标记)。解决此问题使问题消失。我觉得这不是一个正确的答案,所以我将其作为评论发布。
  • 检查这个answer,它对我有用。

标签: c# asp.net asp.net-mvc asp.net-mvc-4 upgrade


【解决方案1】:

我的提示: 如果您的页面格式正确,请查看每个</tr> 之前的内容,看看您是否缺少</td>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 2011-06-25
    相关资源
    最近更新 更多