为什么我的经典 ASP 页面不能在 ASP.NET 应用程序的根目录中运行?

为什么我的经典 ASP 页面不能在 ASP.NET 应用程序的根目录中运行?

以下是我的情况 - 我有一个 ASP.NET 应用程序在生产环境中运行了很长时间(Framework 2.0),最近通过在 IIS 中切换应用程序的主路径,将其从一个根目录迁移到另一个根目录。除了任何经典的 .asp 脚本外,一切都运行正常。当您使用浏览器访问它们时,它们会像标准文本文件一样开始下载。

应用程序配置没有改变,只是根主目录改变了。另外,我在同一台机器上还有其他应用程序允许 .asp 在其中执行。

在回答之前,请记住:1 - 在我更改主目录之前,这一切都在我的 ASP.NET 应用程序中运行 2 - 经典 ASP 已启用 3 - 经典 ASP 页面从其他虚拟目录运行,因此扩展映射似乎没问题

答案1

好的,经过一个顿悟!的时刻,我发现了问题所在。也许这会对其他人有所帮助,因为我在所有搜索中都没有看到任何地方提到这一点。

看起来另一个开发人员向 web.config 添加了 HTTPHandler 来响应所有请求。

这阻止了 asp.dll 处理 .asp 文件的请求。我仍然有点困惑,为什么 IIS 在处理 ISAPI 扩展之前先访问 ASP.NET 应用程序。

答案2

检查是否在虚拟目录级别启用了经典 ASP 页面;全局或在网站级别启用它们可能还不够。

答案3

它是否尝试执行 .asp 源文件中的 vbscript,或者是否将文件内容以文本/纯文本形式返回到浏览器?也许您缺少某些包含文件或类似的东西?

相关内容