在更新dll时,使用app_offline.htm使应用程序脱机,同时更新dll失败

时间:2010-09-17 16:27:41

标签: asp.net iis-7 app-offline.htm

所以当我上传新版本时,我有时会使用app_offline.htm使应用程序脱机。

然而,当我正在上传更大的dll时,我得到黄色错误屏幕,说无法加载dll。

这似乎与我对app_offline.htm的作用(完全停止应用程序)的期望不同步,并且还为用户提供了错误,而不是我提出的app_offline.htm。

我做错了什么或是设计出来的这种行为?

alt text

1 个答案:

答案 0 :(得分:4)

app_offline.htm关闭了应用程序,但没有完全停止编译器。

因此,在您上传的第一个dll上,编译器会看到不同的内容并再次启动编译...所以当您尝试下一个dll时,编译可能会使用它,并且无法删除/替换。

也有可能即使你要求关闭应用程序仍然会制作进程并使用此dll。

我做了什么,我将服务器上的所有文件上传到另一个目录中,打开app_offline.htm,然后我等待所有池关闭(我在应用程序端放置了消息)然后我从服务器快速更新所有文件。不同的是,使用ftp,上传时间大于编译器触发从dll重新编译全局函数的时间。

要查看即使使用app_offline.htm,系统仍然可以进行编译,只需使用Process Explorer并查看编译。

什么是编译?我认为编译除了页面之外的dll。

该消息来自编译器,试图编译程序,从你上传的第一个dll触发编译器并启动新的编译,现在你上传下一个编译,并在尝试编译时编译时,dll被ftp锁定。