Mea*_*een 4 iis application-pool windows-server-2008 applicationhost
我们在Microsoft Azure中托管了一个Web服务器.它是Windows Server 2008 R2 Datacenter版本,64位.
对于在此计算机上托管的网站,我需要更改applicationhost.config文件.但是,我最近对IIS所做的更改未显示在配置中.我添加了一个新的应用程序池,并将该特定网站添加到该应用程序池中.我重新启动了网站,文件的"修改日期"已更新,但应用程序池不存在.
现在我正在编辑文件C:\Windows\System32\inetsrv\config,但也有一个C:\Windows\SysWOW64\inetsrv\Config,但后者几个月没有更新.
我看错了文件吗?变更是否立即保存?我是否需要完全重启IIS而不仅仅是相关网站?
真正的问题是有两个inetsvr目录,一个用于32位,另一个用于64位.32位'版本',可能处于休眠状态且未更新,属于SysWOW64!
当您%SystemDrive%\Windows\System32\inetsrv使用32位应用程序打开文件时,Windows将重定向您,而不会发出警告,%SystemDrive%\Windows\SysWOW64\inetsrv可能是一个非常过时的文件.有意思吗?
使用像Notepad ++这样的64位编辑器将打开"正确"的活动配置文件.
以下hack将创建(活动)64位位置,可从32位应用程序(例如,某些Visual Studio版本)访问.
cd /d "%SystemDrive%\Windows\SysWOW64\inetsrv"
move Config Config.OLD
mklink /d Config "%SystemDrive%\Windows\System32\inetsrv\Config"
Run Code Online (Sandbox Code Playgroud)
解决方案是@RickStrahl如上所述重新启动IIS ,但即使看起来你可以正确地打开和编辑applicationHost.config使用Notepad ++或安装在服务器上的Visual Studio并配置为打开.config文件,它实际上并没有显示正确的内容!.
我安装Notepad2 x64然后我可以看到我正在寻找的应用程序池.
血腥辉煌的微软......:[