.NET版本的应用程序池是否可以自行更改?

问题描述 投票:3回答:6

问题就是这一切。

我在带有IIS 6的Win 2003服务器上有一个QA站点和PROD站点。我将站点移动到新服务器,使用IIS 7 Win 2008 R2。在新服务器上,我为两个新站点将应用程序池设置为2.0 。在更新DNS以指向新服务器并且网站工作正常之前,我测试了一堆网站。所以我给我的客户发了一封电子邮件,让他们知道他们可以更新DNS以指向新服务器。

当我回到家时,我开始收到警报说该网站已关闭。经过一些调查,我发现两个站点的应用程序池的.NET版本已更改为4.0。这使网站瘫痪。客户端无权访问服务器。我的其他开发人员都没有改变它。我自己没有改变它。它本身似乎发生了变化。

.NET版本的应用程序池是否可以自行更改?

.net windows iis application-pool .net-framework-version
6个回答
0
投票

回答你的问题。不,这不可能改变自己。

我还会问为什么你的应用程序不能在.NET 4.0上运行,因为它与.NET 2.0向后兼容。


0
投票

我不熟悉将应用程序/站点部署到IIS,所以请耐心等待。

这个问题让我想起微软的Scott Hanselman博客文章:ASP.NET MVC Beta and RC Upgrades - Confirm your Expectations and Version Numbers in Production Environments

在本文中,Scott解释了所使用程序集的版本号的差异。在生产站点与开发版本不同之前,他还不知道它。可能这篇文章可能会帮助您深入了解原因。

本文还提到了一个名为MvcDiagnostics的工具(链接到NuGet页面)。例如,MvcDiagnostics将允许您获取有关您的环境,路径和版本信息的大量信息。

在斯科特的案例中,他发现System.Web.Mvc.DLL的本地版本比他服务器上的版本更新,而是从GAC运行而不是在本地运行。

也许这可以为您提供考试的起点。


0
投票

它本身不应该改变,但有些人可能已经进入并无意中将其更改为服务器上的默认设置


0
投票

You can try to do that executing external PowerShell script:

Set-ItemProperty IIS:\AppPools\<pool_name> managedRuntimeVersion v4.0

0
投票

我确实曾经发生这种情况,从来没有找到理由,将其更新回4所有工作,客户满意。

是IIS7,但我不记得任何其他细节。在不同的Windows平台上处理了数百个站点部署到各种IIS版本后,我很惊讶这个设置“出现”自动更改。我并不反对其他人改变它的可能性,但似乎不太可能,我的项目,我的网站,我的部署,以前工作过,很少其他用户更改有问题的服务器上的任何设置。


0
投票

我知道这是一个旧线程,但我们最近有一个服务器,在应用Windows更新后,所有.net 4.0应用程序池都更改为.net 2.0。我发现一个线程声称在重置服务器时,应用程序池可以更改为DefaultAppPool设置的任何版本。在我们的服务器上,DefaultAppPool设置为2.0,因此这让我相信这是可能的。 https://community.spiceworks.com/topic/467973-iis-application-pool-net-randomly-changes

© www.soinside.com 2019 - 2024. All rights reserved.