当我尝试在装有 Service Pack 2 的 Windows Server Standard 服务器上的 IIS 7.0 上查看刚刚部署的应用程序时出现以下错误:
HTTP 错误 404.2 - 未找到由于 Web 服务器上的 ISAPI 和 CGI 限制列表设置,无法提供您所请求的页面。
错误代码 0x800704ec
我已经在自己的台式电脑上成功部署了该应用程序。
据我所知,我没有使用 ISAPI 或 CGI。
即使在请求一个简单的 ASPX 页面时也会出现这种情况。
答案1
ASPX 页面并不简单 - 它依赖于 ISAPI 处理程序,至少在应用程序池处于经典模式时如此。ASPX 扩展通过 ISAPImodule 映射到 ASP.Net ISAPI,这听起来不像是坏了,但听起来像是服务器管理员关闭了 ASP.Net ISAPI 支持。
这表明 ASP.Net 配置自安装以来已经发生了变化(假设已安装 ASP.Net)。
要进行调查,请打开 Web 服务器级别的ISAPI 和 CGI 限制界面,你至少应该看到:
- ASP.NET v2.0.50727
- %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
如果是 64 位服务器
- ASP.NET v2.0.50727
- %windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
如果不是这种情况,或者它们被禁止,您需要允许这些路径中的那些 DLL 来执行 ASP.Net - 将此服务器设置(以及您的应用程序池模式)与您的台式计算机进行比较。