IIS下無法運行ASP程序的解決
在分析問題以前,先嘗試訪問網(wǎng)站中的純靜態(tài)網(wǎng)頁(以htm或者h(yuǎn)tml為后綴的頁面),如果不能正常顯示,說明問題本身不在ASP上。
檢查IIS的設(shè)置,看是否設(shè)置了“應(yīng)用程序設(shè)置-執(zhí)行權(quán)限-純腳本”,“配置-映射”里有asp擴(kuò)展名。IIS設(shè)置檢查無誤后,再進(jìn)行后面的步驟。
1、如果網(wǎng)站本身有Global.asa,先把它更名為Global.old,重新啟動該網(wǎng)站。用記事本寫下代碼并保存為test.asp文件,在瀏覽器中訪問。如果能夠正常顯示,說明問題出在Global.asa文件上。
<%Response.Write "This is a test ASP page."%>
2、設(shè)置應(yīng)用程序保護(hù)到“低”,重新啟動IISadmin線程,如果這時能夠在瀏覽器中讀出ASP頁面,說明IWAM帳號存在問題。如果仍舊不能訪問ASP頁面,檢查“管理工具”的“組件服務(wù)”,確保你能夠看到IIS包。
附:如果遇到組件服務(wù)打不開(可能是由于應(yīng)用程序占滿CPU造成),在控制面板的添加與刪除,重新添加刪除組件服務(wù),然后重新啟動計算機(jī)。
3、將應(yīng)用程序保護(hù)返回到“中”或“高”,添加IWAM帳戶到Administrator組,如果這時候ASP頁面能夠被瀏覽,說明IWAM存在一個權(quán)限問題。如果ASP仍然不能正常顯示,進(jìn)DOS窗口用命令行的方式運行Synciwam.vbs工具。
C:\Inetpubadminscripts>cscript synciwam.vbs
4、解決IWAM帳號的權(quán)限問題,嗯,這個說起來話長,以后單獨發(fā)表一篇文章。
5、重新建立IIS packages的方法:
在組件服務(wù)中刪除下列包
IIS In-Process Applications
IIS Out-of-Process Pooled Applications
IIS Utilities
用DOS窗口鍵入下列命令重新建立包
%windir%\system32\inetsrv rundll32 wamreg.dll, CreateIISPackage
關(guān)掉組件管理器然后重新打開,看到三個新建的包后,重新啟動IIS(IISRESET),檢測ASP網(wǎng)頁是否能夠正常瀏覽。