服務(wù)器發(fā)生msxml3.dll,錯(cuò)誤800c0005錯(cuò)誤的原因和解決方法
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
打開(kāi)asp頁(yè)面出現(xiàn)msxml3.dll 錯(cuò)誤 '800c0005'如下圖所示
產(chǎn)生msxml3.dll 錯(cuò)誤 '800c0005'大致有以下幾種原因:
1、url不存在
2、防火墻問(wèn)題
3、沒(méi)有啟用Web服務(wù)擴(kuò)展的
4、msxml3.dll損壞了
以上幾個(gè)原因,第一點(diǎn)url不存在-----我的url肯定是存在的,而肯該程序我以前用過(guò)沒(méi)有問(wèn)題,也沒(méi)有更改過(guò)程序,所以肯定不是這個(gè)原因。
說(shuō)明:第二點(diǎn)至第四點(diǎn)就是服務(wù)器的問(wèn)題了,可能服務(wù)器的配置更改。
問(wèn)題2的解決辦法:關(guān)掉防火墻或在防火墻中將SYSTEM32目錄中的DLLHOST.EXE文件加為信任文件,允許進(jìn)入和出去的訪問(wèn)權(quán)限。
問(wèn)題3的解決辦法:?jiǎn)⒂?WebDev服務(wù),把DNS client服務(wù)啟動(dòng)
問(wèn)題4的解決辦法:到其他機(jī)器上找同樣版本的文件覆蓋(要先停止iis)
另,在網(wǎng)上查到下面的解決方法,我試了但沒(méi)有成功。
在運(yùn)用xmlhttp組件編寫程序中,會(huì)碰到 "msxml3.dll 錯(cuò)誤 '800c0005' 系統(tǒng)未找到指定的資源。" 這種錯(cuò)誤,網(wǎng)上對(duì)這種錯(cuò)誤的產(chǎn)生原因有很多鐘解釋,大體說(shuō)是因?yàn)榉阑饓騏DP站口權(quán)限造成了,也說(shuō)了相應(yīng)的解決辦法。其它有時(shí)候也未必。其實(shí)錯(cuò)誤的描述中就說(shuō)出了主要的原因 "系統(tǒng)未找到指定的資源" 。這種錯(cuò)誤都是出現(xiàn)在調(diào)用了 xmlhttp 組件的 Open方法,接著再用Send方法后造成的。當(dāng)open方法的的 url 參數(shù)無(wú)法訪問(wèn)時(shí),就會(huì)造成 8000005 錯(cuò)誤。并且一旦產(chǎn)生這種錯(cuò)誤,就會(huì)導(dǎo)致應(yīng)用程序終止,無(wú)法繼續(xù)操作。大多說(shuō)的程序是這樣寫的:
Function functionName(pararm ...) Dim Http Set Http=Server.CreateObject("MSXML2.XMLHTTP.4.0") With Http .open "GET",HttpUrl,False .Send End With If Http.Readystate<>4 then Set Http=Nothing ...... Exit function End if End Function
大多數(shù)的程序都是運(yùn)用xmlhttp的 Readystate 屬性判斷從服務(wù)器的返回狀態(tài)。其實(shí)這樣未必適合,很多時(shí)候用ReadyState 屬性判斷并不能真正檢測(cè)到程序流程中的錯(cuò)誤。當(dāng)遇到錯(cuò)誤的時(shí)候,仍然會(huì)致使程序終止。其實(shí)修改一下上面的代碼,完全可以實(shí)現(xiàn)跳過(guò)程序執(zhí)行過(guò)程中遇到的錯(cuò)誤,使程序繼續(xù)運(yùn)行。修改代碼如下:
Function functionName(pararm ...) Dim Http Set Http=Server.CreateObject("MSXML2.XMLHTTP.4.0") With Http .open "GET",HttpUrl,False .Send End With On Error Resume Next If Http.Status<>200 then Set Http=Nothing ...... Exit function End if End Function Send
方法產(chǎn)生錯(cuò)誤的時(shí)候,ReadyState的值或許為4,但Status的返回值就一定不是200的。呵呵,我經(jīng)過(guò)多次跟蹤ReadyState和Status的值得到以前結(jié)果。可能會(huì)有差錯(cuò),目前我還沒(méi)有發(fā)現(xiàn)。
希望以上程序解決方案能夠幫到你!!如果朋友你有更好的解決方法,請(qǐng)一定告訴我喲。
我是以MSXML2.XMLHTTP.4.0為例說(shuō)明的程序,也適合其它版本的XMLHTTP組件。想檢查的你系統(tǒng)中已經(jīng)安裝了哪些版本的XMLHTTP組件,請(qǐng)到注冊(cè)表的 HKEY_CLASSES_ROOT 下查找。
.send這里出錯(cuò)
從其他機(jī)器上復(fù)制這三個(gè)文件
msxml3.dll、msxml3a.dll和msxml3r.dll
到C:\Windows\System32目錄覆蓋同名文件
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!