当页面存在时404 – IIS 5,ASP.NET 4.0

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

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

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

logging打开了吗? 如果不是,请打开它。 如果打开,请检查相应的条目是否写入日志文件,并检查是否所有的细节都匹配。

如果没有正在写入的条目,那么IIS中错误的网站可能正在为请求提供内容(请检查它正在侦听的主机名)。

最后,你确定它是IIS 5吗? 我认为2003年发货与IIS 6?

404 IIS中的Substatus 2意味着:“Web服务扩展locking策略阻止了这个请求”,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。

下面是解决问题之前的样子:

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"