[英]Handler Mapping For Classic Asp .asp extension pages giving errors at IIS Integrated Pipe Line Mode
我試圖在IIS 7 集成管道模式下運行經典的Asp頁面。 因此,我在Web.Config中添加了以下Handler映射。
add name="ASPClassic"
path="*.asp"
verb="GET,HEAD,POST"
modules="IsapiModule"
scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
requireAccess="Script"
resourceType="Unspecified"
但是,當請求.asp頁面時,會引發Server Application Unavailable錯誤,並且詳細的應用程序事件日志表示:
映射到aspnet_isapi.dll的請求是在以集成.NET模式運行的應用程序池中進行的。 Aspnet_isapi.dll只能在Classic .NET模式下運行時使用。 請在處理程序映射上指定preCondition =“ISAPImode”,使其僅在以Classic .NET模式運行的應用程序池中運行,或者將應用程序移動到以Classic .NET模式運行的另一個應用程序池,以便使用此處理程序映射。
我哪里做錯了?
Classic ASP的腳本處理器不是:
C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\aspnet_isapi.dll
但:
%windir%\\system32\\inetsrv\\asp.dll
這是安裝Classic ASP時IIS7的applicationHost.config
文件中正確的處理程序映射條目:
<add name="ASPClassic"
path="*.asp"
verb="GET,HEAD,POST"
modules="IsapiModule"
scriptProcessor="%windir%\system32\inetsrv\asp.dll"
resourceType="File" />
聽起來您沒有在服務器或工作站上安裝Classic ASP。
在Windows 7上,您需要轉到“ 控制面板” - >“程序和功能”,然后單擊“打開或關閉Windows功能”。 你會得到一個看起來像這樣的窗口,確保勾選“ASP”:
在Windows 2008R2上,轉到“ 控制面板” - >“管理工具” - >“服務器管理器” 。 單擊左側面板中的“角色”,然后向下滾動到“Web服務器(IIS)”。 應該有一個像這樣的“角色服務”列表(我已經突出顯示了安裝在我拍攝此屏幕截圖的服務器上的ASP):
如果未安裝ASP,則單擊“添加角色服務”並勾選Web服務器 - >應用程序開發下的ASP復選框,然后單擊下一步以完成安裝。
如果一切順利,那么您應該在IIS管理器中看到處理程序映射:
可能是因為為了在IIS 7中運行經典的asp頁面,你還需要安裝它嗎? (IIS 7上未默認安裝)
請參閱此處如何添加asp模塊,具體取決於您在Windows7或Windows Server 2008上的內容: http : //www.iis.net/configreference/system.webserver/asp
順便說一下:你要做的是確實在經典流水線模式下進行腳本映射。
另見: http : //www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/wildcard-script-mapping-and-iis-integrated-pipeline_
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.