2010-07-10 118 views
7

在我们的ASP.NET网站解决方案之一中,我需要推出可能需要合理时间的更新。它产生了多个Windows Azure工作人员和项目,因此排除了简单的部署交换。如何为Windows Azure网站实施“正在维护的网站”?

基本上我只是想着方式来所有的web请求重定向到一个“网站正在维护”页面一段时间,考虑到该项目正在的Windows Azure

我知道IIS的app-offline.htm技巧,但我怀疑Azure Web Role将允许部署或运行​​此应用程序(它会关闭应用程序域)。

回答

3

经过一些额外的调查后,似乎其中一个实施选项是创建一个将所有请求重定向到单个维护页面的单独Web项目(部署包和Web角色)。 (天青默认安装)Url Rewrite模块可以被配置成这样的:

<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设置。