关于iis:.NET 3.5 Service Pack 1在ASP.NET Web App上导致404页

关于iis:.NET 3.5 Service Pack 1在ASP.NET Web App上导致404页

.NET 3.5 Service Pack 1 causes 404 pages on ASP.NET Web App

在为.NET 3.5安装Service Pack 1之后,IIS 6.0出现问题,无法继续为ASP.NET应用程序工作。

我有2个相同的虚拟专用服务器。首先安装SP1不会产生不利影响。在第二个上安装它导致ASP.NET页开始返回未找到的404页。

两个服务器上的静态.html静态页面正常工作。

还有其他人经历过吗?


这是一个广泛的问题,所以让我们先问一些故障排除问题:

  • Based on your description, the ASP.NET runtime is not catching your request and processing the aspx files. You may need to register the asp.net pipeline with IIS again using ASPNET_REGIIS -i.
  • Have you made sure that the app_offline.htm file has been removed
    from the directory of the application?
    I have had this happen before after an
    update.
  • Have you setup fiddler for instance to follow the request to see what is
    exactly being requested?
  • Make sure ASP.NET is enabled in the IIS Administration Console under"Web
    Service Extensions." Make sure everything is set to allowed for your different versions of the framework.

好吧,让我们从这些开始,希望我们可以指导您解决问题。


最近我见过很多有这个问题的人。此链接可能有帮助。

还有这个。

还有其他一些。


仅作澄清。戴尔给出的最后(第四点)是问题所在。在安装SP1的过程中,Web Service Extensions下的ASP.NET和WebDAV的状态设置为"禁止"。

为什么安装SP1会在一台服务器上更改此设置,而在另一台服务器上却没有更改,这是一个我不介意(但不希望得到)答案的谜团。

CodingTheWheel提供的第二个链接也有答案,所以我也将其标记为答案。


.NET 3.5 SP1并没有这个确切的错误,但是过去发生过类似的情况。通常,可以通过打开命令提示符,转到相应的.NET文件夹并运行ASPNET_REGIIS -i来解决该问题。对于.NET 3.5,没有对框架的主要部分进行更新,因此您实际上要转到.NET 2.0文件夹,该文件夹可以在我的机器上找到:

\\\\ Windows \\\\ Microsoft.Net \\\\ framework \\\\ v2.0.50727

运行ASPNET_REGIIS -i将向IIS重新注册所有ASP.NET库,并且等效于在给定机器上重新安装框架(就IIS而言)


您的web.config中的CustomErrors是否设置为On或RemoteOnly?如果是这样,将其更改为"关闭"会得到什么?


以前没有人做过,所以我将指出一个简单的解决方案:
您是否已经卸载了Service Pack,然后又重新安装了Service Pack(或整个框架)?

编辑:@Kev:
简单的解释:他说,更新在一台机器上有效,而在另一台机器上无效。过去我也遇到过类似的问题,重新安装有助于解决其中的一些问题。这是微不足道的。
那是我的方法:
1.琐碎的
2.容易
3.头痛

您是对的,在生产系统上必须小心,但这是他的决定。而且由于它是虚拟服务器,所以也许他很容易将其复制并首先尝试作为测试环境。


推荐阅读