页面存在时出现 404 - IIS 5,ASP.NET 4.0

页面存在时出现 404 - IIS 5,ASP.NET 4.0

我有一个运行 Server 2003 Datacenter 和 IIS 5 的 Web 服务器,它托管着各种 ASP.NET 2.0 网站。我试图添加一个通过 VS2010 Beta 编写的 ASP.NET 4.0 网站,并且我在服务器上安装了 .NET 4.0 Beta 1。

该网站似乎配置正确;匿名访问已打开,它指向正确的文件夹,并设置为 asp.net 4.0。

为什么当我在本地和远程浏览它时,它会给我 404 错误?

答案1

日志记录是否已打开?如果没有,请将其打开。如果已打开,请检查是否将相应条目写入日志文件,并检查其所有详细信息是否匹配。

如果没有写入任何条目,则可能是 IIS 中的错误网站正在为您的请求提供内容(请检查其正在监听的主机名)。

最后,您确定它是 IIS 5 吗?我以为 2003 附带 IIS 6?

答案2

IIS 中的 404 子状态 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

二七:support.microsoft.com/kb/943891

答案3

您只需要在 IIS 中启用 ASP.NET 4.0 的 Web 扩展。

答案4

检查 metabase.xml 文件...WebSvcExtRestrictionList 中 Framework\V4.0.21006 的行开头是否有“1”?

我遇到了同样的问题,将其设置为“1”(启用)解决了该问题。ASP.NET 4.0 Beta 1 没有这个问题。该问题仅在安装 ASP.NET 4.0 Beta 2 时出现。

修复问题之前的情况如下:

    WebSvcExtRestrictionList="0,C:\SERVER\system32\inetsrv\httpodbc.dll,0,HTTPODBC,Internet Data Connector
        0,C:\Perl\bin\perlis.dll,1,,Perl ISAPI Extension
        0,C:\SERVER\system32\inetsrv\httpext.dll,0,WEBDAV,WebDAV
        0,C:\Perl\bin\PerlEx30.dll,1,,PerlEx ISAPI Extension
        0,C:\Perl\bin\perl.exe "%s" %s,1,,Perl CGI Extension
        1,C:\SERVER\system32\inetsrv\asp.dll,0,ASP,Active Server Pages
        1,C:\SERVER\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,0,ASP.NET v2.0.50727,ASP.NET v2.0.50727
        0,*.exe
        0,*.dll
        0,C:\SERVER\system32\inetsrv\ssinc.dll,0,SSINC,Server Side Includes
        0,C:\SERVER\Microsoft.NET\Framework\v4.0.21006\aspnet_isapi.dll,0,ASP.NET v4.0.21006,ASP.NET v4.0.21006"

相关内容