如何使用.Net处理程序处理.asp扩展?

时间:2011-01-11 16:07:29

标签: asp.net configuration iis-7 asp-classic iis-7.5

我有一个较旧的经典ASP网站,我正在迁移到IIS7.5。我不想在服务器上安装经典ASP,所以我只想将.asp文件视为.aspx文件。

如何在IIS7.5中执行此操作?

编辑:为了澄清,我不是要问如何在.Net下使用经典的ASP代码。我只是想知道如何映射.net运行时要处理的.ASP文件扩展名。我将.asp文件中的代码升级到.net。

修改

我放弃并最终安装了经典的ASP,因为我无法使映射工作(收到404.17和404.3错误的组合)。我将David Lively的答案标记为正确,因为它是最详细和最有帮助的。

4 个答案:

答案 0 :(得分:3)

这不会起作用。处理执行ASP.NET应用程序的Aspnet_isapi.DLL不了解经典ASP,并将尝试将经典VBScript代码解析为.NET VBScript。

唯一可行的方法是,如果您的.ASP页面中没有(我的意思是绝对无)经典ASP代码。

如果是这种情况,您可以将.ASP扩展名映射到IIS管理器中的aspnet_isapi。

  1. 打开inetmgr。
  2. 选择网站
  3. 在“功能视图”面板中,选择“处理程序映射”alt text
  4. 将.ASP的映射添加到C:\Windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll(假设您使用的是ASP.NET 2.x)。
  5. 同样,如果你的.asp页面中有任何代码,这将导致每个.ASP页面出现光彩的技术色彩失败。

    另一种选择是使用重写引擎(我们使用ISAPI Rewrite)将传入请求的文件扩展名从.asp更改为.aspx。

    为什么不在服务器上安装经典ASP?它与ASP.NET并行工作得很好。

    修改

    它实际上被称为“处理程序映射”。见上图。

答案 1 :(得分:0)

它无效。 ASP和ASP.NET是不同的东西。

例如,

ASP.NET不支持VBScript。它也不支持包含。

答案 2 :(得分:0)

我认为IIS7中的defualt没有启用ASP,因此您可能必须使用Windows控制面板启用它控制:

面板/程序/打开/关闭Windows功能/ Internet信息服务/ WorldWideWeb服务/应用程序开发功能/ [ASP] [ISAPI过滤器]等...

然后选择您需要的所有功能。

干杯

答案 3 :(得分:0)

您必须按照下面给出的开始菜单获取VS2010命令提示符。

  1. 开始 - >所有程序 - > Microsoft Visual Studio 2010 - > Visual Studio工具 - > Visual Sutdio命令提示符(2010)

  2. 右键单击Visual Studio命令提示符(2010)并选择以Windows 7和Vista为例运行管理员

  3. 然后应用aspnet_regiis.exe -i