.NET 3.5 Service Pack 1在ASP.NET Web App上导致404页

时间:2020-03-05 18:40:27  来源:igfitidea点击:

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

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

静态.html页面在两个服务器上都可以正常工作。

还有其他人经历过吗?

解决方案

回答

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

回答

最近,我见过各种各样的人都遇到这个问题。该链接可能会有所帮助。

和这个。

还有其他一些。

回答

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

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

我们是正确的,在生产系统上必须小心,但这是他的决定。并且由于它是虚拟服务器,因此他可能很容易将其复制并首先尝试作为测试环境。

回答

这是一个广泛的问题,因此让我们从提出一些故障排除问题开始:

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.

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

回答

.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而言)

回答

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

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

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