为什么 IIS 拒绝提供 ASP.NET 内容?

为什么 IIS 拒绝提供 ASP.NET 内容?

我的 Windows Server 2003 Std 服务器拒绝提供 ASP.NET 内容。它可以很好地提供常规 html,但任何 .net,甚至带有 ASPX 扩展名的一行 html 文件都会默默失败。

我尝试过的事情:

  • 失败时,事件日志或 IIS WWW 日志中没有任何内容。
  • Fiddler 没有显示任何响应
  • 我重新安装了.NET
    • C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -U
    • C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -I
  • 我向所有可能相关的用户(IUSER*、ASP.NET 等)授予了我能想到的所有极高的权限(完全控制、读取、写入等)。
  • 我确认 ASP.Net v1 和 v2 Web 服务扩展在 IIS 中是“允许的”
  • 确认服务器管理器已启用 IIS 和 ASP.Net 角色

再次重申:场景如下:

任何指导都将不胜感激!


解决方案:我按照以下说明重新安装,现在可以正常工作了。谢谢大家!

答案1

我遇到过几次同样的问题,每次的解决方案都是:

  1. 进入控制面板
  2. 转到“Windows 组件”区域
  3. 删除 IIS,让它卸载
  4. 重启
  5. 重新添加 IIS(确保在勾选框时包含 ASP.NET 内容)。
  6. 运行这个:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -I

我曾经在客户现场花了几个小时调试这个问题,这就是诀窍。从那时起,每次发生这种情况,这就是解决办法。

我不确定根本原因是什么,但是我们曾经试图找出原因,并且彻底破坏了 IIS 配置,甚至让 Microsoft RDC 进入有问题的服务器 2 到 3 个小时,但他们也无能为力。

因此我将其视为 ASP.NET/IIS 中未记录的错误。

答案2

尝试这个:http://localhost/blah.aspx(应该是不存在的页面)。如果它给出 404 而不是 asp.net 错误页面,则 asp.net 没有运行;如果它给出 403 错误,则站点的权限错误。

以下清单或许能有所帮助:

  • IIS 是否正在运行?
  • 你的网站正在运行吗?
  • 您的网站的应用程序池是否正常运行?
  • ASP.NET 是否安装并注册?

    cd /d %windir%\Microsoft.Net\Framework\v2.0.50727

    aspnet_regiis-ua

    aspnet_regiis -i -启用

  • ASP.NET 正在运行吗?

检查网站属性中的“ASP.NET”选项卡。确保它使用的是正确的版本。

  • 权限设置是否正确?

检查站点属性中的“主目录”选项卡,检查“执行权限”设置,应将其设置为允许脚本。还要检查“Web 服务扩展”以确保允许运行 asp.net。

答案3

打开 IIS 管理器,单击左侧窗格中的 Web 服务扩展文件夹。然后单击右侧窗格中的 ASP.NET 扩展并单击允许按钮。

答案4

根据上一个答案,您无需卸载/重新安装 IIS 即可重新建立 .net 支持。只需运行位于相应框架文件夹中的 aspnet_regiis.exe 实用程序,例如:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

相关内容