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

这是我的情况 – 我已经有很长一段时间在生产中运行的ASP.NET应用程序(Framework 2.0),并且最近通过在IIS中切换应用程序的主path从一个根目录迁移到另一个根目录。 一切都运行得很好,除了任何经典的.asp脚本。 当你用浏览器打他们时,他们开始像标准文本文件一样下载。

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

在回答之前,请记住:1 – 在更改主目录之前,这一切都在我的ASP.NET应用程序中运行2 – 启用了经典的ASP 3 – 经典的ASP页面从其他虚拟目录运行,所以扩展映射看起来很好

OK,经过AHA! 那一刻,我发现了这个问题。 也许这会让别人受益,因为我在所有的search中没有看到这一点。

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

这阻止了asp.dll处理.asp文件的请求。 我仍然有点难以理解为什么IIS在处理ISAPI扩展之前先击中ASP.NET应用程序。

检查在虚拟目录级别是否启用传统的ASP页面; 让他们在全球或网站级别启用可能是不够的。

它甚至尝试在.asp源文件中执行vbscript,还是以文本/纯文本forms将文件的内容返回到浏览器? 也许你错过了一些包括文件或东西?