国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

未將對象引用設(shè)置到對象的實例

2016-07-22 14:10:23 11661

 相信許多學(xué)過asp.net的朋友都遇到過這個問題:未將對象引用設(shè)置到對象的實例。這里有我自己遇到的問題,也有在網(wǎng)上查閱的資料

blob.png

一、數(shù)據(jù)庫方面 

1、ViewState 對象為Null。

2、DateSet 空。

3、sql語句或Datebase的原因?qū)е翫ataReader空。

4、聲明字符串變量時未賦空值就應(yīng)用變量。

5、未用new初始化對象。

6、Session對象為空。

7、對控件賦文本值時,值不存在。

8、使用Request.QueryString()時,所獲取的對象不存在,或在值為空時未賦初始值。

9、使用FindControl時,控件不存在卻沒有做預(yù)處理。

10、重復(fù)定義造成未將對象引用設(shè)置到對象的實例錯誤.

 

二、應(yīng)用程序方面

 

     (1)所設(shè)置的變量為空值或沒有取到值,一般出現(xiàn)在傳遞參數(shù)的時候出現(xiàn)這個問題,也會在使用DataGrid或gridview或datalist等數(shù)據(jù)控件時出現(xiàn).

  (2)控件名稱與codebehind里面的沒有對應(yīng) 

  (3)未用new初始化對象 

  (4)在程序中所引用的控件不存在 

  解決方法: 

  (1)使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變量值

  (2)查看代碼中是否存在未初始化的變量 

三、數(shù)據(jù)庫連接

 

SqlConnection.Open   未將對象引用設(shè)置到對象的實例 

在使用VS2003開發(fā) ASP.NET程序時候 有時候操作 SqlConnection對象的Open()方法時候會出現(xiàn)

未將對象引用設(shè)置到對象的實例。 

說明: 執(zhí)行當(dāng)前 Web 請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯誤以及代碼中導(dǎo)致錯誤的出處的詳細信息。

異常詳細信息:System.NullReferenceException: 未將對象引用設(shè)置到對象的實例。

源錯誤:

。。。。 

conn.Open(); 

...... 

跟蹤調(diào)試也肯定可以確定 對conn進行new 操作 但是程序經(jīng)常在這個地方報錯,但是有時候重啟服務(wù)器或者重啟IIS有能正常使用了。 怎么調(diào)試也找不到問題  那么這個時候可能是你本機上安裝的.NET FRAMEEWORK 框架有問題,可能沒有沒有安裝SP1.1補丁 

需要打NETFRAMEEWORK1.1 SP1的補丁,到微軟官方網(wǎng)站下載安裝后就好了。 

四、一般出現(xiàn)NullReferenceException異常的情況:

1、對象所在的命名空間沒有引用

2、對象沒有實例化

3、出現(xiàn)異常,實例化失敗對象為 null

 

五、IIS 扛不住的時候,也會出現(xiàn)上面的錯誤。

當(dāng)應(yīng)用程序的用戶訪問量超過它能承受的范圍之后,就會出錯。

改善你的程序,使用緩存,盡量減少與數(shù)據(jù)庫交互的次數(shù)。

 

六、查看是否重置了DataSet引用

請大家好好查查自己的代碼,是不是在其他地方重新引用了,在DataSet被設(shè)置成全局對象也會出現(xiàn)這種錯誤提示。

 

七、最后

甚至,僅僅因為網(wǎng)站里面DAL的dll文件失效,業(yè)務(wù)層實例化不了IDAL里面的對象也會出錯。

當(dāng)你發(fā)現(xiàn)所有的方法不行時,打上.netframework的補丁

總結(jié)

        暫時就這?多了吧,雖然錯誤的表現(xiàn)形式大致相同,但是其原因卻是五花八門,遇到的多了,就知道是什么問題了!




提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: