2010-07-10 3 views
7

In einer unserer ASP.NET-Website-Lösungen muss ein Update bereitgestellt werden, das eine angemessene Zeit in Anspruch nehmen kann. Es erzeugt mehrere Windows Azure-Workers und -Projekte, sodass ein einfacher Deployment-Swap ausgeschlossen ist.Wie implementieren Sie "Site in Wartung" für Windows Azure-Website?

im Wesentlichen eine alle Web-Anfragen zu umleiten ich bin über Weise nur daran denke „Seite ist unter Wartung“ Seite für einige Zeit, da das Projekt unter Windows Azure.

Ich kenne den Trick app-offline.htm mit IIS, aber ich bezweifle, dass Azure Web Role dieses bereitstellen oder ausgeführt werden kann (es spinnt die App-Domäne).

Antwort

3

Nach einigen zusätzlichen Untersuchungen scheint es, dass eine der Implementierungsoptionen darin besteht, ein separates Webprojekt (Bereitstellungspaket und die Webrolle) zu erstellen, das alle Anforderungen an die einzelne Wartungsseite weiterleitet. über den Swap

<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> 

Bereitstellen dieses Projekt wird logische Konsistenz gewährleisten, während die Nachrichtendetails (wenn Erfüllungsperiode erwartet wird, länger sein) weitergegeben werden können: Url Rewrite Modul (auf Azure standardmäßig installiert) könnte so konfiguriert werden, durch die cscfg Einstellungen.