我想知道是否有人尝试在 32 位 Windows Server 2003 Enterprise Edition 中运行 ASPX 页面?我有几十台使用 2003 Standard 的生产 Web 服务器,它们从未遇到过此问题。以下是我得到的结果:
2003 EE、IIS 和 ASP.NET 的新实例安装在两个具有非常不同硬件的测试服务器上,并且所有东西都经过了完全修补。
简单的“hello world”html页面”http://127.0.0.1/Test.htm“在所有浏览器中都能正常工作。
当我将此页面重命名为“http://127.0.0.1/Test.aspx”时,Firefox 立即给出“连接中断”错误。事件日志或 IIS 日志中没有其他信息。其他浏览器也无法显示该页面(IE 显示“无法显示网页”)
我在默认网站和一个全新网站上测试过此问题,还尝试在 ASP.NET 1.1 和 ASP.NET 2.0 之间切换 - 仍然出现相同的错误。我的登录名是本地管理员,我尝试向“NETWORK SERVICE”、“ASPNET”和“IUSER_*”帐户授予管理员权限,但没有成功。此外,所有基本技巧(如重新启动、禁用防火墙、重新安装 .NET 和 IIS)均无效。
在安装企业版操作系统后,我在这两台服务器上还观察到了另外两个线索:1. 最初,当我尝试加载静态 Html 页面或图像时,IIS 会给出安全异常。我必须使用组件服务来允许 DCOM 激活 IIS 管理服务,然后静态文件才能开始工作。2. 当我尝试操作某些 Web 服务扩展(即禁止 CGI 扩展)时,MMC 崩溃并显示“MMC 在管理单元中检测到错误。建议您关闭并重新启动 MMC”。
我将非常感激任何关于解决此问题的提示!
PS. 我之所以尝试部署企业版,是因为它支持超过 4GB 的 RAM,并且我的某些应用程序尚未准备好在 64 位操作系统上运行...
答案1
当 asp.net 开始出现异常时,需要检查各种事项。检查以确保扩展被允许就是其中之一,尽管您通常最终会得到 404 未找到错误,而不是其他类型的失败(这是一种故意伪造的错误,旨在避免将信息泄露给潜在的黑客)。
但是,大多数故障排除最终都归结为重新安装 .NET Framework,然后运行 aspnet_regiis.exe 来重置所有内容。不应该2k3EE 和 2k3SE 上的 IIS 之间有什么区别?
另外,请记住 IIS 不支持 PAE,因此即使您的机器上有大量 RAM,您仍然可能无法在任何给定的应用程序池中利用它。
答案2
我在安装适当版本的 .NET 后安装 IIS 时也遇到过类似的情况。基本上,安装 .NET 时,它没有检测到 IIS,因此没有安装适当的库来让 ASP.NET 工作。
如果您从“添加/删除程序”窗口重新安装.NET,这应该可以解决您的问题。
答案3
过去我遇到过一些问题,通过运行“aspnet_regiis.exe -i”问题就神奇地消失了
它位于 Windows\Microsoft.NET\Framework\ [Version]\ 目录中。
答案4
http://www.visualwin.com/ASP.NET/
具体来说,请检查 IIS 中的 Web 服务扩展。