物理路径更改时应用程序域重新启动

时间:2011-11-25 15:55:24

标签: iis appdomain virtual-directory

我试图在IIS6上更新Web应用程序时最大限度地减少停机时间 - 我有两个文件夹(一个包含当前应用程序,另一个包含新代码)。一旦我将虚拟目录的物理路径切换到新文件夹,就会发生重新编译(“应用程序正在关闭。原因:应用程序的物理路径已更改。”)。但是,如果我在旧的和新的之间切换物理路径的次数,有时会重新编译。 E.g:

  • 切换到folderB
  • 事件代码:1002事件消息:应用程序正在关闭。原因:应用程序的物理路径发生了变化。
  • 切换回folderA
  • 事件代码:1001事件消息:应用程序正在启动。 (没有关机?)
  • 切换回folderB
  • 事件代码:1001事件消息:应用程序正在启动。 (没有关机?)

域名并不总是重新启动的原因是什么?

1 个答案:

答案 0 :(得分:2)

ASP.NET使用每个应用程序的哈希码,每个应用程序都有不同的哈希码(根据应用程序名称,物理路径和可能的其他参数计算)。在物理路径之间来回切换会产生两个不同的代码(以及“临时ASP.NET文件”中的两个文件夹)。一旦应用程序被JIT控制,就不会发生关机。