我有一个运行 Server 2003 Datacenter 和 IIS 5 的网络服务器,它托管着各种 ASP.NET 2.0 网站。我正在尝试添加我通过 VS2010 Beta 编写的 ASP.NET 4.0 网站,并且我在服务器上安装了 .NET 4.0 Beta 1。
该网站似乎配置正确;匿名访问已打开,它指向正确的文件夹,并设置为 asp.net 4.0。
当我在本地和远程浏览它时,为什么它会给我一个 404 错误?
我有一个运行 Server 2003 Datacenter 和 IIS 5 的网络服务器,它托管着各种 ASP.NET 2.0 网站。我正在尝试添加我通过 VS2010 Beta 编写的 ASP.NET 4.0 网站,并且我在服务器上安装了 .NET 4.0 Beta 1。
该网站似乎配置正确;匿名访问已打开,它指向正确的文件夹,并设置为 asp.net 4.0。
当我在本地和远程浏览它时,为什么它会给我一个 404 错误?
是否开启了日志记录?如果不是,请打开它。如果它打开,检查是否有相应条目写入日志文件,并检查其所有详细信息是否匹配。
如果没有写入任何条目,则 IIS 中的错误网站可能正在为您的请求提供内容(检查它正在侦听的主机名)。
最后,你确定它是 IIS 5 吗?我认为 2003 附带 IIS 6?
IIS 中的 404 Substatus 2 表示:“Web 服务扩展锁定策略阻止此请求。”,IIS7 上针对 404.2 的更友好消息显示“由于 Web 服务器上的 ISAPI 和 CGI 限制列表设置,您请求的页面无法提供服务。”
查看以下知识库文章以获取可能的修复:
http://support.microsoft.com/kb/328419/ http://support.microsoft.com/kb/328505/ http://support.microsoft.com/kb/328360/
在 IIS6 和 7 中,http 子状态包含重要信息,用于完整列表检查:
IIS5 和 6:support.microsoft.com/kb/318380
II7:support.microsoft.com/kb/943891
您只需在 IIS 中启用 ASP.NET 4.0 的 Web 扩展。
DNS 名称是否指向正确的服务器?
检查 metabase.xml 文件 ... WebSvcExtRestrictionList 中 Framework\V4.0.21006 的行首是否有“1”?
我遇到了同样的问题,将其设置为“1”(启用)可以解决问题。ASP.NET 4.0 Beta 1 没有这个问题。该问题仅在安装 ASP.NET 4.0 Beta 2 时出现。
这是解决问题之前的样子: