簡體   English   中英

經典Asp .asp擴展頁的處理程序映射在IIS集成管道模式下出錯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM