2012-01-12 91 views
0

在罕見的一次,我碰到下面的錯誤和堆棧跟蹤當我的ASP.NET應用程序某人訪問一個:在ASP.NET中可能導致這種零星錯誤的原因是什麼?

錯誤:對象引用不設置到對象的實例。

堆棧跟蹤:在MyApp.MyDefaultPage .Page_Init(對象發件人,EventArgs e)上System.Web.UI.Control.InitRecursive(控制namingContainer)在System.Web.UI.Control.InitRecursive(控制namingContainer )在System.Web.UI.Page.ProcessRequestMain(布爾includeStagesBeforeAsyncPoint,布爾includeStagesAfterAsyncPoint)

確定一些事情在這裏。 MyApp.MyDefaultPage沒有我自己定義的Page_Init,所以沒有額外的代碼(我瞭解事件仍然發生)。另外,沒有任何基類代碼可以通過Page_Init事件運行,所以我在發生這種情況時處於虧損狀態。

我甚至可以收集的唯一的事情是我在Application_Error事件一Global.asax異常處理程序代碼,但件事我訪問任何對象之前做的是確保他們不試圖訪問之前沒有什麼(爲了防止任何錯誤)。

任何線索可能會導致這種零星?

+0

你可以把頁面的代碼? – ivowiblo 2012-01-12 20:38:45

+1

未將對象引用設置爲對象的實例可能是最常見的ASP.NET錯誤期間。你試圖最可能地引用一個'null'對象的方法或屬性。你的異常是否有內部異常? – 2012-01-12 20:40:45

+0

你檢查了你的事件查看器嗎? – Afshin 2012-01-12 20:43:27

回答

0

您是否使用任何Ajax控件?

如果是的話請確保您的ScriptManager標籤是你的表單標籤後的第一項

也給一個嘗試設置EnableEventValidation =「假」的頁面。

這可能是由用戶在頁面完全加載之前與頁面交互引起的。

+1

如果這是問題,則例外情況將保持一致。 – 2012-01-12 20:50:48

+0

是的,我正在使用AJAX和AJAX控件工具包(從codeplex最新版本)。它*是*表單標籤之後的主頁中的第一行:

我不想僅僅設置EnableEventValidation =「false」,因爲有安全問題。但總的來說,我也想知道這是否是AJAX有時會加載腳本的問題。 – atconway 2012-01-13 14:29:10

+0

正如我前面提到的那樣 - 我不想僅僅設置EnableEventValidation =「false」,因爲這裏有安全問題。然而,這沒有任何活動,所以也許將其標記爲AJAX腳本,而不是偶爾加載或者其他東西。 – atconway 2012-01-26 19:26:01

相關問題