情况很奇怪。我们为内部使用开发了一个部署系统。系统使用robocopy下载预编译的二进制文件并复制到应用程序目录,不包括未更改的文件。
问题是,在此操作之后,应用程序未点击application_start
。即使我们重启应用领域。 (我甚至重新启动了IIS本身但没有运气)我甚至在自动部署后手动更改web.config
,再次没有运气。我运行iisreset
,同样没有点击application_start
。但应用程序正在运行!我们使用状态服务器,我们继续使用应用程序,就像什么都没有发生(应用程序变量除外,它们都消失了)
在application_start
中,我们通过添加如下内容来初始化一些Application变量:
logger.info("bla bla");
Application.Add("KEY",somevaluefromdb);
我们也没有看到任何日志消息。
但是当我手动(通过复制和粘贴)部署相同的二进制文件时,application_start
命中,我们会看到日志消息,并且变量已初始化。
有没有人遇到过这种情况?
答案 0 :(得分:1)
如果发布应用程序根文件夹中不存在PrecompiledApp.config文件,则不会执行这些事件。 我花了好几个小时来解决这个毫无意义的错误:(