“/”應用程式中的伺服器錯誤。未將物件引用設定到物件的例項。
可能存在如下問題,可以從下面的問題中查詢自己的錯誤是屬於哪一類。自己遇到的一般是物件為NULL的問題。
參考大神的分析,留下解決方案,以便日後查詢。
一、資料庫方面
1、ViewState 物件為Null。
2、DateSet 空。
3、sql語句或Datebase的原因導致DataReader空。
4、宣告字串變數時未賦空值就應用變數。
5、未用new初始化物件。
6、Session物件為空。
7、對控制元件賦文字值時,值不存在。
8、使用Request.QueryString()時,所獲取的物件不存在,或在值為空時未賦初始值。
9、使用FindControl時,控制元件不存在卻沒有做預處理。
10、重複定義造成未將物件引用設定到物件的例項錯誤.
二、應用程式方面
(1)所設定的變數為空值或沒有取到值,一般出現在傳遞引數的時候出現這個問題,也會在使用DataGrid或gridview或datalist等資料控制元件時出現.
(2)控制元件名稱與codebehind裡面的沒有對應
(3)未用new初始化物件
(4)在程式中所引用的控制元件不存在
解決方法:
(1)使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變數值
(2)檢視程式碼中是否存在未初始化的變數
三、資料庫連線
SqlConnection.Open 未將物件引用設定到物件的例項
在使用VS2003開發 ASP.Net程式時候 有時候操作 SqlConnection物件的Open()方法時候會出現
未將物件引用設定到物件的例項。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊跟蹤資訊,以瞭解有關該錯誤以及程式碼中導致錯誤的出處的詳細資訊。
異常詳細資訊:System.NullReferenceException: 未將物件引用設定到物件的例項。
源錯誤:
。。。。
conn.Open();
......
跟蹤除錯也肯定可以確定 對conn進行new 操作 但是程式經常在這個地方報錯,但是有時候重啟伺服器或者重啟IIS有能正常使用了。 怎麼除錯也找不到問題 那麼這個時候可能是你本機上安裝的.NET FRAMEEWORK 框架有問題,可能沒有沒有安裝SP1.1補丁
需要打NETFRAMEEWORK1.1 SP1的補丁,到微軟官方網站下載安裝後就好了。
四、一般出現NullReferenceException異常的情況:
1、物件所在的名稱空間沒有引用
2、物件沒有例項化
3、出現異常,例項化失敗物件為 null
五、IIS 扛不住的時候,也會出現上面的錯誤。
當應用程式的使用者訪問量超過它能承受的範圍之後,就會出錯。
改善你的程式,使用快取,儘量減少與資料庫互動的次數。
六、檢視是否重置了DataSet引用
請大家好好查查自己的程式碼,是不是在其他地方重新引用了,在DataSet被設定成全域性物件也會出現這種錯誤提示。
七、最後
甚至,僅僅因為網站裡面DAL的dll檔案失效,業務層例項化不了IDAL裡面的物件也會出錯。
當你發現所有的方法不行時,打上.netframework的補丁