Applicationhost.config 未显示更改

Applicationhost.config not showing changes

我们有一个托管在 Microsoft Azure 中的网络服务器。这是 Windows Server 2008 R2 数据中心版,64 位。

对于在这台机器上托管的网站,我需要对 applicationhost.config 文件进行更改。但是,我最近对 ​​IIS 所做的更改未显示在配置中。我添加了一个新的应用程序池并将这个特定网站添加到该应用程序池。我重新启动了网站,文件的 'Date Modified' 已更新,但应用程序池不存在。

现在我正在编辑 C:\Windows\System32\inetsrv\config 中的文件,但 C:\Windows\SysWOW64\inetsrv\Config 中也有一个,但后者已经几个月没有更新了。

我看错文件了吗?更改没有立即保存吗?我是否需要完全重新启动 IIS 而不仅仅是相关网站?

解决方案是按照 @RickStrahl 所述重新启动 IIS,但即使 似乎 您也可以使用 Notepad++ 或Visual Studio 安装在服务器上并配置为打开 .config 个文件,它实际上没有向您显示正确的内容!

我安装了 Notepad2 x64 然后我可以看到我正在寻找的应用程序池。

该死的微软...:[

真正的问题是有两个 inetsvr 目录,一个用于 32 位,另一个用于 64 位。 32 位 'version',可能处于休眠状态且未更新,在 SysWOW64 下!!!

当您使用 32 位应用程序打开 %SystemDrive%\Windows\System32\inetsrv 上的文件时,Windows 会在没有警告的情况下将您重定向到 %SystemDrive%\Windows\SysWOW64\inetsrv 可能是一个非常过时的文件。 有趣不?

使用像 Notepad++ 这样的 64 位编辑器将打开 'right' 活动配置文件。

以下 hack 将使(活动的)64 位位置可从 32 位应用程序(例如,某些 Visual Studio 版本)访问。

cd /d "%SystemDrive%\Windows\SysWOW64\inetsrv"
move Config Config.OLD
mklink /d Config "%SystemDrive%\Windows\System32\inetsrv\Config"