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