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

幫助中心 >  技術(shù)知識(shí)庫(kù) >  網(wǎng)站相關(guān) >  建站知識(shí) >  未將對(duì)象引用設(shè)置到對(duì)象的實(shí)例

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

2016-07-22 14:10:23 11645

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

blob.png

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

1、ViewState 對(duì)象為Null。

2、DateSet 空。

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

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

5、未用new初始化對(duì)象。

6、Session對(duì)象為空。

7、對(duì)控件賦文本值時(shí),值不存在。

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

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

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

 

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

 

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

  (2)控件名稱與codebehind里面的沒(méi)有對(duì)應(yīng) 

  (3)未用new初始化對(duì)象 

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

  解決方法: 

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

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

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

 

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

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

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

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

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

源錯(cuò)誤:

。。。。 

conn.Open(); 

...... 

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

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

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

1、對(duì)象所在的命名空間沒(méi)有引用

2、對(duì)象沒(méi)有實(shí)例化

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

 

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

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

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

 

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

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

 

七、最后

甚至,僅僅因?yàn)榫W(wǎng)站里面DAL的dll文件失效,業(yè)務(wù)層實(shí)例化不了IDAL里面的對(duì)象也會(huì)出錯(cuò)。

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

總結(jié)

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




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

這條文檔是否有幫助解決問(wèn)題?

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

在文檔使用中是否遇到以下問(wèn)題: