在我们的一个ASP.NET网站解决方案中,我需要推出可能需要合理时间的更新。它产生了多个Windows Azure Workers和项目,因此排除了简单的部署交换。
基本上我只是考虑将所有网络请求重定向到“网站维护”页面一段时间,因为该项目位于 Windows Azure 下
我知道使用IIS的app-offline.htm技巧,但我怀疑Azure Web角色是否会允许部署或运行这个(它会在应用程序域中旋转)。
答案 0 :(得分:4)
经过一些额外的调查后,似乎其中一个实现选项是创建一个单独的Web项目(部署包和Web角色),将所有请求重定向到单个维护页面。 Url Rewrite模块(默认安装在Azure上)可以像这样配置:
<rules>
<rule name="Redirect exclusions" stopProcessing="true">
<match url="\.(css|gif|png|htm|jpg)$" />
</rule>
<rule name="Redirect to index" stopProcessing="true">
<match url="^(.*)$" />
<action type="Redirect" url="/index.htm" />
</rule>
</rules>
通过交换部署此项目将确保逻辑一致性,而消息详细信息(如果预计维护期更长)可以通过cscfg设置传递。