我们只是将旧的Windows 2003服务器迁移到Windows 2008 64位,所以我们正在尝试适应新的IIS。
我们有很多关于MIMEtypes等的改变,并且认为如果我们只是编辑一个configuration文件而不是使用IISpipe理器,这些改变会变得更快。
但是,我们find了两个configuration文件的path:
%WinDir%\System32\Inetsrv\Config\applicationHost.config %WinDir%\SysWOW64\inetsrv\Config\applicationHost.config
由于我们在64位,我假设我们需要编辑SysWOW64文件夹下的一个。 但是,我们一直在IIS中编辑整个设置,但是这两个文件都只显示了几分钟前的修改date。
所以,我想知道哪一个我们需要搞乱…而且,当我们这样做的时候,IIS会自动保存更改,还是需要在pipe理器中执行一些操作来刷新设置?
编辑:
值得一提的是:我们使用这个服务器运行Coldfusion 9,除了我们托pipe的静态HTML的一些站点外,一切都运行Coldfusion。
编辑:
看着这个,看来我正在读文件的时间戳错了。 它看起来像当我在IIS中进行更改时,System32文件被更改,SysWOW64未被触摸。 然而,这很奇怪,因为SysWOW64文件昨天晚上10:44被修改了,所以我可以假设这是被使用的(我们之前开始工作的方式)? 在昨天晚上十点四十五分左右,我确实打了一个电话给“iisreset”,这可能是搞砸了吗?
还有一些需要注意的地方:我们的网站所在的应用程序池被设置为ASP.NET 2.0,以防有某种影响(可能需要切换到4.0)。
事实certificate,出于某种原因,我们需要使用一个64位的文本编辑器来编辑这个configuration文件。 这是我第一次遇到这种情况(我使用32位应用程序Notepad ++编辑64位系统上的文本文件),但这是这些IISconfiguration文件的一种“特殊情况”。
我们应该编辑的实际位置也是%WinDir%\System32\Inetsrv\Config\applicationHost.config 。
我不知道为什么我们不得不为这个文件使用一个64位的应用程序,但我知道使用固定我们的问题。 我们最终使用了Notepad2 ,因为这是我们唯一真正能够find的是64位的; 但它一直工作得很好。
默认情况下,64位操作系统将以64位模式运行应用程序池,但是IIS7也可以运行32位应用程序池。 我相信这就是为什么你有这两个文件。
这个答案有更多的细节。
在64位操作系统下,.NET应用程序可以在WOW64模式下在32位CLR上运行,也可以在x64模式下本地运行。 每个.NET框架实例都有自己的一组configuration文件,并忽略所有其他configuration文件。
检查enable32BitAppOnWin64属性以确定应用程序池是以32还是64位模式运行。