System.Web.UI.Control.LoadRecursive() - 堆栈不足以安全地继续执行程序。

时间:2013-07-15 13:46:03

标签: asp.net .net memory-leaks stack-overflow

我有一个用C#和.Net v4开发的ASP.NET Web应用程序。当您登录并离开该页面大约15-20分钟时,我得到“堆栈不足以继续安全执行程序。

根据我的知识,你无法尝试捕获.Net中的stackoverflow。我会想象递归加载网页和活动会话检查导致此错误(可能是一个糟糕的编码实践)。我还添加了截图,因为我能够从Stack跟踪中找到它。如果有人帮助我,这将有所帮助。

Screen Shot

2 个答案:

答案 0 :(得分:1)

我想我找到了解决方案。仍然是考验。查看this链接和this 他们真的很有前途。当我成功的时候,我会让你们更新。

谢谢大家的帮助。

答案 1 :(得分:0)

问题是这个callstack正好在堆栈的末尾。

要寻找的一些事项:

  1. 您的代码中是否有使用.FindControl(string id)的地方?
  2. 如果是,是否找到一个控件,然后尝试进一步定位它?
  3. 您是否动态创建控件,例如<asp:Placeholder/>控件。
  4. 当您从嵌套控件中引用父级时,它可以是递归的,然后由父级重新引用。