iis - Applicationhost.config 未显示更改

标签 iis windows-server-2008 application-pool applicationhost

我们有一个托管在 Microsoft Azure 中的网络服务器。它是 Windows Server 2008 R2 数据中心版,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"

关于iis - Applicationhost.config 未显示更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36641621/

相关文章:

javascript - window.opener 在不同的域上工作吗?

c# - Windows 应用程序通过 HTTPS 正常连接到本地 WCF 服务,Windows 服务失败并显示相同的代码

asp.net - ASHX 处理程序中的线程中止(超时)

permissions - 通过 cmd.exe 和 net share 创建共享并授予权限

windows-vista - vbscript检测UAC是否提升

.net - 作为服务登录与作为批处理作业登录

IIS 7.5 和 Web API 2 PUT/DELETE 请求

vbscript - 我的脚本不会在任务调度程序下运行。为什么?

windows - 应用程序池启动失败 'invalid identity' 错误 1021

应用程序池的 C# .NET 单例生活