将azure MVC应用程序置于维护模式的巧妙方法

时间:2011-07-01 00:20:58

标签: asp.net-mvc asp.net-mvc-3 azure

是否有人有任何快速而聪明的方法将在Windows Azure上运行的MVC应用程序转换为“维护模式”

我对此没有太大的需求,因为我经常使用天蓝色的登台环境,但偶尔我确实需要确保应用程序的生产实例中没有用户(主要是数据库更新)。

我希望能够在不上传新代码或交换部署插槽的情况下即时执行此操作。有什么建议?

3 个答案:

答案 0 :(得分:3)

最友好的方式是登录。当用户进行身份验证时,请检查数据库中的维护模式标志,并且不要让他们登录。让活动用户继续使用该应用程序,直到他们注销或会话超时。保留活动日志,以便了解所有用户何时过期。

当然,这意味着从应用程序进入维护模式以及有效准备时需要花费时间,但是引导活跃用户并不好。

如果你的应用的使用模式使得这种方法不能确保在合理的时间内没有活动,你可以在此基础上添加超时。每隔一段时间检查一次请求的相同维护标志。不必每次都要求,但每五分钟左右。如有必要,您还可以在本地缓存维护模式值一段合理的时间(几分钟)。

答案 1 :(得分:3)

我会为此使用路由。在路由配置期间检查标志。如果已打开,请转到“维护”屏幕

答案 2 :(得分:1)

我建议添加一个尊重维护模式Flag的全局操作过滤器。