ASP是非常簡(jiǎn)單的,以至于許多的開(kāi)發(fā)者不會(huì)去思考錯(cuò)誤處理。錯(cuò)誤處理能夠讓你的應(yīng)用程序更加合理。我看到過(guò)很多個(gè)用ASP編寫(xiě)的商業(yè)網(wǎng)站,大多數(shù)都忽略了錯(cuò)誤處理。 錯(cuò)誤的類型。
錯(cuò)誤之一:不能在瀏覽器端顯示調(diào)試信息,只顯示HTTP 500錯(cuò)誤。
不出意外的話,只要你開(kāi)發(fā)過(guò)Asp程序,絕對(duì)會(huì)出現(xiàn)這樣的錯(cuò)誤。出現(xiàn)這樣的錯(cuò)誤也不要緊,畢竟可以根據(jù)瀏覽器上面顯示的錯(cuò)誤原因進(jìn)行解決。但是在Windows 2003 Server + IIS 6.0 下面就只報(bào)告“內(nèi)部服務(wù)器錯(cuò)誤”,沒(méi)有具體的信息,讓人郁悶的不行。一般來(lái)說(shuō)可以通過(guò)如下的配置讓IIS啟動(dòng)調(diào)試ASP程序(標(biāo)紅的選項(xiàng)打勾),具體見(jiàn)見(jiàn)圖1,圖2。要出現(xiàn)此配置項(xiàng),在IIS中你發(fā)布的網(wǎng)站(一般為默認(rèn)網(wǎng)站)上單擊右鍵,選擇屬性,在彈出的選項(xiàng)中,點(diǎn)主目錄,點(diǎn)配置按鈕就可以出現(xiàn)如圖1,圖2的選項(xiàng)。

圖1 啟用父路徑

圖2 啟用ASP程序調(diào)試
但是很奇怪的是做了這些修改之后,瀏覽器還是不能正常顯示錯(cuò)誤信息。一直以為這個(gè)是IIS服務(wù)器的問(wèn)題,最后通過(guò)多方查找資料,終于發(fā)現(xiàn)是Internet Explore的問(wèn)題。通過(guò)作如下的配置就可以正常顯示了(按標(biāo)紅的選項(xiàng)修改,默認(rèn)的勾和下面的圖片顯示剛好相反)。具體點(diǎn)擊Internet Explorer—工具—Internet選項(xiàng)就可出現(xiàn)如下選項(xiàng)頁(yè):

圖3 Internet 選項(xiàng)配置
做了以上的修改之后,一般來(lái)說(shuō)就可以正常顯示錯(cuò)誤信息了,調(diào)試錯(cuò)誤時(shí)也方便了很多。想我以前在調(diào)試時(shí),不知道為什么不能顯示出錯(cuò)信息時(shí),只能郁悶的去看日志。。。。。。,那個(gè)痛苦??!
如果運(yùn)行asp頁(yè)面出現(xiàn)下面的錯(cuò)誤提示
出現(xiàn):
Active Server Pages 錯(cuò)誤 'ASP 0201'
無(wú)效的默認(rèn)腳本語(yǔ)言
為此應(yīng)用程序指定的默認(rèn)腳本語(yǔ)言無(wú)效。
IIS出現(xiàn)Active Server Pages錯(cuò)誤'ASP 0201'的修復(fù)工具
2007-05-12 19:08
IIS提示: Active Server Pages 錯(cuò)誤 'ASP 0201' 默認(rèn)腳本語(yǔ)言無(wú)效 為該應(yīng)用程序指定的默認(rèn)腳本語(yǔ)言無(wú)效。
網(wǎng)上收集的方法有: 方法一 在運(yùn)行里面regsvr32 /u scrrun.dll regsvr32 scrrun.dll 另,如果還是不行,可以試試把iis卸載,然后把wwwroot目錄刪除,重新安裝IIS.
方法二 1、刪除“internet信息服務(wù)”, 2、重啟機(jī)子,按F8進(jìn)入“安全模式”, 3、在安全模式下將“C:\Inetpub”、“c:\windows\iis6.log”、“c:\windows\system32\inetsrv”這幾個(gè)東西重命名。 4、重啟機(jī)子,在正常模式下安裝“internet信息服務(wù)”,安裝完畢刪除重命名文件。 5、如果還不能解決問(wèn)題,打開(kāi)“internet信息服務(wù)”,“重新啟動(dòng)IIS”。
方法三 ( 這個(gè)實(shí)踐過(guò) OK!) 1、單擊開(kāi)始,指向程序,指向管理工具,然后單擊 Internet 信息服務(wù)。 2、在控制臺(tái)樹(shù)中,單擊默認(rèn) Web 站點(diǎn)。在顯示窗格中,右鍵單擊 默認(rèn) Web 站點(diǎn),然后單擊屬性。 3、在目錄安全性選項(xiàng)卡的匿名訪問(wèn)和身份驗(yàn)證控制中,單擊編輯。 4、在身份驗(yàn)證方法屬性頁(yè)中,單擊去掉匿名訪問(wèn)的勾。
====================
這是一個(gè)相當(dāng)普通的asp錯(cuò)誤,一般是由以下原因造成: 在我們使用多種方式去解決這個(gè)問(wèn)題之前,讓我們看一下這個(gè)錯(cuò)誤本身. 像完整的錯(cuò)誤消息?任何一個(gè)可能導(dǎo)致這個(gè)問(wèn)題的原因都會(huì)使我們得到如下消息:
Active Server Pages 錯(cuò)誤 'ASP 0201' 錯(cuò)誤無(wú)效的默認(rèn)腳本語(yǔ)言 該應(yīng)用程序地應(yīng)的默認(rèn)腳本語(yǔ)言無(wú)效
這錯(cuò)誤通常是由IIS不識(shí)別的"不支持的腳本語(yǔ)言"引起的.現(xiàn)在怎么修復(fù)它呢? 嘗試以下步驟:
1.確認(rèn)在IIS中定義了合適的腳本語(yǔ)言.(進(jìn)入IIS管理-選中站點(diǎn)-屬性-主目錄-配置-選項(xiàng)-默認(rèn)ASP語(yǔ)言),確認(rèn)默認(rèn)ASP語(yǔ)言設(shè)置為 VBscrīpt(默認(rèn))或Jscrīpt(如果你更喜歡Javascrīpt腳本)
2.注意如果你的代碼中首行含有<%Language="language"%>將覆蓋上邊的設(shè)置,所以仔細(xì)檢查以保證你沒(méi)有拼寫(xiě)錯(cuò)誤.它應(yīng)該是<%Language="VBscrīpt"%>
3.有時(shí),腳本引摯不完整的DLL注冊(cè)也會(huì)造成這個(gè)問(wèn)題,請(qǐng)下載最新版的腳本引摯試試。
4.現(xiàn)在,我們需要確認(rèn)在安裝腳本引摯時(shí)沒(méi)有注冊(cè)某些DLL文件,例如,你可以按以下方式去嘗試注冊(cè)DLL: regsvr32 %windir%\system32\VBscrīpt.dll regsvr32 %windir%\system32\Jscrīpt.dll regsvr32 %windir%\system32\Inetsrv\Asp.dll
5.繼續(xù),如果你到此還沒(méi)有解決這個(gè)問(wèn)題,那看起來(lái)像是許可權(quán)引起了該問(wèn)題. 例如:使匿名用戶訪問(wèn)網(wǎng)站的 iusr_計(jì)算機(jī)名 這個(gè)用戶沒(méi)有相關(guān)DLL的讀權(quán)限,可以嘗試將(4)中的DLL文件給匿名用戶賦予讀取權(quán)限.
6.下一步,如果你還是看到同樣的錯(cuò)誤,你需要嘗試按另外的步驟以確保相關(guān)的權(quán)限正確.參考以下文件: IIS 4 - IIS 4所需要的用戶和NTFS權(quán)限(http://support.microsoft.com/?id=187506)IIS 5 - 怎樣為IIS5設(shè)置所需要的用戶及NTFS權(quán)限(http://support.microsoft.com/?id=271071)IIS 6 - IIS6.0默認(rèn)的用戶及NTFS權(quán)限(http://support.microsoft.com/?id=812614)
7.如果你嚴(yán)格按照上邊的步驟來(lái)做,應(yīng)該不會(huì)再看到這個(gè)錯(cuò)誤,除非你在上邊的步驟中遺忘了某些配置.你可以臨時(shí)將 iusr_計(jì)算機(jī)名 這個(gè)用戶加入本地管理員組.注意,這只是為了查找問(wèn)題,當(dāng)問(wèn)題解決后你絕對(duì)不能將匿名用戶加入管理員組. 如果加入管理員組后問(wèn)題已經(jīng)解決.可以肯定這是因?yàn)闄?quán)限問(wèn)題,請(qǐng)按上邊的步驟再次檢查權(quán)限設(shè)置.如果還是沒(méi)有解決,請(qǐng)將匿名用戶從管理員組刪除后再請(qǐng)教其它相關(guān)專業(yè)技術(shù)人員. |
如果還是無(wú)法解決問(wèn)題。下這個(gè)軟件運(yùn)行(IIsfixer) 一鍵修復(fù)。保證搞定。