河南鄭州企業網站建設網絡公司多爾福科技
服務熱線:0371-60999820
15238075082
c#:未將對象引用設置到對象的實例--可能出現的問題總結
一、網絡上的一般說法

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補丁  
需要打NET FRAMEEWORK1.1 SP1的補丁,到微軟官方網站下載安裝后就好了。

四、

一般出現NullReferenceException異常的我個人總結有以下情況:
1、對象所在的命名空間沒有引用
2、對象沒有實例化
3、出現異常,實例化失敗對象為 null

五、

IIS 扛不住的時候,也會出現上面的錯誤。
當應用程序的用戶訪問量超過它能承受的范圍之后,就會出錯。
改善你的程序,使用緩存,盡量減少與數據庫交互的次數。

六、

我碰到的問題是,無意重置了DataSet引用,后出現這個問題,請大家好好查查自己的代碼,是不是在其他地方重新引用了,在我的程序中DataSet被設置成全局對象。

七、

當你發現所有的方法不行時,打上.netframework的補丁

八、

我出現這個錯誤,僅僅因為網站里面DAL的dll文件失效,業務層實例化不了IDAL里面的對象 
但也浪費了一下午的時間在調代碼上

九、

為每個可疑的地方添加監視,起初以為是sql語句寫錯了,查了幾遍,換用sql語句還是報同樣的錯誤。根據google出來的結果,提到對象重定義會引起這樣的結果。根據這一提示,替換掉頁面級全局對象,總算搞定了。
       class DBOper{
            /*構造函數沒有函數體
             *
             *c#寫的 一系列對數據庫操作方法
             *
             *
       }
       最初為了省事,盡量少聲明對象,只在全局聲明了一個private DBOper db=new DBOper(),在不同方法里面調用該對象的方法,以避免為其定義而造成內存浪費。后來代碼重構,在編譯的時候并未報錯。但是當運行的時候,就出現” NullReferenceException: 未將對象引用設置到對象的實例“。結果就因它而搞了幾個小時。后來根據google的結果,將不同方法中使用到的DBOper對象一一重定義為局部變量(一個方法里面只定義一個DBOper對象,多次調用其方法均正常),去掉全局的private變量。再運行的時候就正常了。
上一篇: 百度搜索引擎是如何定義作弊的? 下一篇: 網站建設要注意什么?
網站首頁 | 關于我們 | 版權所有 | 網站地圖 | 服務項目 | 網站建設 | 網站優化 | 軟件開發 | 經典案例 | 常見問題 | 聯系我們
版權所有:河南多爾福電子科技有限公司 豫ICP17014991號-2 技術支持:多爾福科技
地址:河南省鄭州市鄭東新區東風南路萬通街英地金臺府邸4號樓2單元1204室。 手機:15238075082 Email:[email protected]
大乐透胆拖中奖规则图