asp.net運行提示未將對象引用設定到對象的執行個體錯誤解決方案

來源:互聯網
上載者:User

未將對象引用設定到對象的執行個體
一、網路上的一般說法
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有能正常使用了。怎麼調試也找不到問題那麼這個時候可能是你本機上安裝的.NETFRAMEEWORK架構有問題,可能沒有沒有安裝SP1.1補丁
需要打NET轉載自百分網http://www.oh100.com,請保留此標記FRAMEEWORK1.1SP1的補丁,到微軟官方網站下載安裝後就好了。
四、一般出現NullReferenceException異常的我個人總結有以下情況:
1、對象所在的命名空間沒有引用
2、對象沒有執行個體化
3、出現異常,執行個體化失敗對象為null
五、IIS扛不住的時候,也會出現上面的錯誤。
當應用程式的使用者訪問量超過它能承受的範圍之後,就會出錯。
改善你的程式,使用緩衝,盡量減少與資料庫互動的次數。
六、我碰到的問題是,無意重設了DataSet引用,後出現這個問題,請大家好好查查自己的代碼,是不是在其他地方重新引用了,在我的程式中DataSet被設定成全域對象。
七、當你發現所有的方法不行時,打上.netframework的補丁
八、我出現這個錯誤,僅僅因為網站裡面DAL的dll檔案失效,業務層執行個體化不了IDAL裡面的對象
但也浪費了一下午的時間在調代碼上
九、
為每個可疑的地方添加監視,起初以為是sql語句寫錯了,查了幾遍,換用sql語句還是報同樣的錯誤。根據google出來的結果,提到對象重定義會引起這樣的結果。根據這一提示,替換掉頁面級全域對象,總算搞定了。
classDBOper{
/*建構函式沒有函數體
**c#寫的一系列對資料庫操作方法
**}最初為了省事,盡量少聲明對象,只在全域聲明了一個privateDBOperdb=newDBOper(),在不同方法裡面調用該對象的方法,以避免為其定義而造成記憶體浪費。後來代碼重構,在編譯的時候並未報錯。但是當啟動並執行時候,就出現"NullReferenceException:未將對象引用設定到對象的執行個體"。結果就因它而搞了幾個小時。後來根據google的結果,將不同方法中使用到的DBOper對象一一重定義為局部變數(一個方法裡面只定義一個DBOper對象,多次調用其方法均正常),去掉全域的private變數。再啟動並執行時候就正常了。
至於為什麼將自訂的對象提成為class為private在不同的方法裡面使用後而出現這樣的問題,現在還不是很清楚
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.