【发布时间】:2011-09-07 19:56:35
【问题描述】:
我团队的一名成员浏览了我们的 ASP.NET Web 应用程序中的几个页面,并将一些 OnLoad 覆盖更改为 page_load 事件,但他没有删除对 base.OnLoad() 的调用。
这个:
Public void override OnLoad()
{
//stuff
base.OnLoad();
}
到这里:
Public void Page_Load(object sender, EventArgs e)
{
//stuff
base.OnLoad();
}
注意:如果有语法错误,我很抱歉,我不在有实际源代码的计算机上。
当我们将代码推送到实时服务器时,我们开始遇到 IIS app_pool 每 45 分钟到 1 小时崩溃一次的问题。我们仍然不完全确定这是问题所在,但我很好奇 page_load 事件是从哪里调用的。它们是否从 system.web.ui.page 中的 OnLoad 方法调用?如果是这样,那么我认为这会导致无限循环并最终耗尽内存并导致 app_pool 崩溃。
这可能是我们麻烦的原因吗?
【问题讨论】:
-
当然,如果它是无限循环打开页面会导致堆栈溢出,你会马上知道。
-
我知道我们不需要它。我只是好奇这是否会导致应用程序池崩溃。
标签: c# .net asp.net webforms page-lifecycle