如何为Windows Azure网站实施“维护中的站点”?

时间:2010-07-10 10:09:00

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

在我们的一个ASP.NET网站解决方案中,我需要推出可能需要合理时间的更新。它产生了多个Windows Azure Workers和项目,因此排除了简单的部署交换。

基本上我只是考虑将所有网络请求重定向到“网站维护”页面一段时间,因为该项目位于 Windows Azure

我知道使用IIS的app-offline.htm技巧,但我怀疑Azure Web角色是否会允许部署或运行​​这个(它会在应用程序域中旋转)。

1 个答案:

答案 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设置传递。