这是一个通用的问题。然而,它仍然是一个谜,需要解释......
最近我们的应用程序已在生产中使用最新代码进行部署。它是ASP.NET MVC 3
应用程序,使用WCF
作为服务,使用SQL Server
作为数据库。部署是自动化过程,从DIT,SIT,Stage到Prod的升级也是自动化的。
部署之后,在测试过程中,我们发现生产中的应用程序的行为与其他环境中的行为方式不同。功能不匹配。 DIT,SIT和Stage按预期工作,但Prod不会。我们检查了所有prod服务器中的Dll,它们是最新的。我在DEV中调试并发现它按预期工作。
无法找到解释,我们在所有prod服务器上做IISRESET
并猜测是什么!..它开始按预期工作,直到现在都没有问题...... :)
答案 0 :(得分:2)
您没有说自动部署是如何完成的,但是根据文件的复制顺序,回收可以提前发生(例如,因为web.config已被覆盖),而还有其他文件要被复制。然后你最终得到一个部分旧的部分新应用程序。
答案 1 :(得分:1)
广泛的问题但是我想到的是缓存会受到iisreset的影响。静态字段/类的值也会受到影响。
添加@Will Dean的回答。在部署期间,您是否正在处理app_offline.htm
文件并在之后将其删除?