2013-03-12 51 views
5

我想在IIS 7 集成管道模式下運行經典Asp頁面。因此,我在Web.Config中添加了以下Handler映射。處理程序映射經典Asp .asp擴展頁在IIS集成管線模式給出錯誤

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頁時,服務器應用程序不可引發錯誤和詳細的應用程序事件日誌中說:

的請求映射到aspnet_isapi.dll的應用程序中作出以集成.NET模式運行。 Aspnet_isapi.dll只能在Classic .NET模式下運行時使用。請在處理程序映射上指定preCondition =「ISAPImode」,以使其僅在以經典.NET模式運行的應用程序池中運行,或者將應用程序移至另一個以Classic .NET模式運行的應用程序池以使用此處理程序映射。

我哪裏錯了?

回答

0

難道是爲了在IIS 7中運行經典的asp頁面,你還需要安裝嗎? (它沒有在IIS 7默認安裝到)

看到這裏如何取決於添加ASP模塊閹這是你的Windows7或Windows Server 2008上:http://www.iis.net/configreference/system.webserver/asp

順便說一句:你試圖do的確是經典管道模式下的腳本映射。
參見:傳統的ASP http://www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/wildcard-script-mapping-and-iis-integrated-pipeline_

10

腳本處理器是不是:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

但:

%windir%\system32\inetsrv\asp.dll

下面是IIS7的applicationHost.config文件的正確的處理程序映射條目,安裝傳統的ASP時:

<add name="ASPClassic" 
    path="*.asp" 
    verb="GET,HEAD,POST" 
    modules="IsapiModule" 
    scriptProcessor="%windir%\system32\inetsrv\asp.dll" 
    resourceType="File" /> 

這聽起來像你不是你的服務器或工作站上安裝傳統的ASP。

在Windows 7上,您需要轉至控制面板 - >程序和功能然後單擊「打開或關閉Windows功能」。你會得到看起來像這樣的窗口,確保「ASP」被選中:

enter image description here

在Windows 2008R2去控制面板 - >管理工具 - >服務器管理器。點擊左側面板中的「角色」,然後向下滾動到「Web服務器(IIS)」。應該有「角色服務」這樣的(我已經強調ASP是安裝在服務器上我從這個截屏)的列表:

enter image description here

如果沒有安裝ASP然後點擊「添加角色服務「並勾選Web服務器 - >應用程序開發下的ASP複選框,然後單擊下一步完成安裝。

如果一切順利,那麼你應該看到在IIS管理器中的處理程序映射:

enter image description here

+0

真的很感謝你的貢獻。我會檢查這一點,並儘快將你的答案標記出來。 – 2013-07-11 04:54:10

+0

我在排除其他問題的同時發現了這個問題,並且發現我沒有安裝ASP classic,但是** ASP腳本在我的機器上正常工作。這怎麼可能? – 2014-03-06 14:04:34

+0

@JoshuaFrank - 你在運行什麼操作系統? – Kev 2014-03-06 14:15:19