【发布时间】:2012-02-09 03:30:41
【问题描述】:
在极少数情况下,当有人访问我的 ASP.NET 应用程序之一时,我会收到以下错误和堆栈跟踪:
错误:对象引用未设置为对象的实例。
Stacktrace:在 MyApp.MyDefaultPage.Page_Init(Object sender, EventArgs e) 在 System.Web.UI.Control.InitRecursive(Control NamingContainer) 在 System.Web .UI.Control.InitRecursive(Control NamingContainer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
这里有几件事。 MyApp.MyDefaultPage 没有我自己定义的 Page_Init,所以没有额外的代码(我知道事件仍然会触发)。此外,在 Page_Init 事件中也没有可以运行的基类代码,所以我不知道发生这种情况的地方。
我唯一能收集到的就是我在 Application_Error 事件中有一个 Global.asax 异常处理程序代码,但是在访问任何对象之前我要做的第一件事是确保它们之前不是 Nothing尝试访问(以防止任何错误)。
有什么线索会导致这种情况发生吗?
【问题讨论】:
-
能把页面的代码放上来吗?
-
Object reference not set to an instance of an object可能是最常见的 ASP.NET 错误期。您最有可能尝试引用null对象的方法或属性。你的异常有内部异常吗? -
您检查过您的活动查看器吗?
-
@ivowilblo - 正如我所提到的,对于 StackTrace 指向的页面,没有可参考的代码。并且通过多种方法发布几百行绑定和可视化操作代码太多了,无法在此处发布
-
@Justin - 没有内部异常,我很清楚这个异常以及它的原因,正如我在原始帖子中提到的那样:“......但我之前做的第一件事访问任何对象是在尝试访问之前确保它们不是 Nothing(以防止任何错误)。"
标签: asp.net