我有一個ASP.NET網站,我將不得不採取一些重大的結構更新,我想知道如何從客戶端的角度去做。我聽說過一個App_Offline.htm
文件或類似的東西,但我從來沒有真正得到這個成功的工作。有誰知道如何做到這一點?如何維護.NET網站?
編輯
我的應用程序正在運行ASP.NET 4.0,它是什麼值得。
我有一個ASP.NET網站,我將不得不採取一些重大的結構更新,我想知道如何從客戶端的角度去做。我聽說過一個App_Offline.htm
文件或類似的東西,但我從來沒有真正得到這個成功的工作。有誰知道如何做到這一點?如何維護.NET網站?
編輯
我的應用程序正在運行ASP.NET 4.0,它是什麼值得。
用於IE訣竅是推倒字節導線特定計數否則1E示出了不那麼友好404錯誤反正。這裏有更多的細節:http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx
與其解釋app_offline的惡意(除其他原因,你不能繼續在執行維護時在內部看到該站點),我在IIS中創建了一個額外的「維護」通常停止。它具有與主站點相同的IP,主機標題等,但只有default.aspx
,圖像文件夾和樣式表。該文件包含「此站點將關閉以進行維護,直到xx:xx PM CST」消息。
當我準備好執行更新,我停止主網站,並開始維修站點,然後處理接收到的任何請求,當然,返回維修信息。
當維修完成後,停止維護預留網站,並重新啓動你的主站點。
如果您使用主機頭,你可以這樣,雖然維護網站正在處理外部請求的網站仍然在你的局域網/廣域網內部訪問修改這一做法。一種簡單的方法是在啓動維護站點之前,從主站點刪除<*>.yourdomain.com
的主機頭文件,並確保主站點具有內部可訪問的其他主機頭文件(例如添加到本地主機文件中)。當您啓動維護站點時,它將處理外部請求,而主站點將處理對僅內部標頭的請求。
或者(這看起來複雜,但可以節省您的添加和刪除頭的麻煩),創建三個站點:
這樣,您只需要停止主站點並啓動另外兩個站點,以便將外部流量彙集到「停機維護」站點,同時仍然可以查看和調整主站點。這對於在部署過程中傾向於出現的最後幾分鐘的測試/錯誤修復很有幫助。
更新
如果您沒有訪問服務器或IIS管理器中,你最有可能將無法使用任何。假設您的訪問權限限於您自己的文件夾,您的選擇似乎要麼將app_offline.htm
部署到該網站的根目錄(ASP.NET將檢查該文件名),要麼只是將整個網站替換爲「停機維護」應用程序。也許別人會用替代品加入。
如果您有一個良好的預發佈測試流程和仔細的發佈程序,您可能不會長時間停機。
在這種情況下,將名爲App_Offline.htm的文件放入您的網站根目錄可以正常工作。 IIS將用它替換你的網站,直到你刪除它。這是一個無痛的方式,確保您在轉換時沒有任何更新。
礦只是有一個標題與網站標誌和一條消息,我們將停機維護長達二十分鐘。而已。我花了大約五分鐘來寫IIRC。
我肯定會推薦這短暫的不到半小時的急劇下降期。任何更長的時間,你可能正在尋找一個重要的系統變化,像David Lively的方法。
這是一個很好的答案,但如果你真的沒有服務器訪問(在共享服務器上託管)呢? – Jason 2011-02-01 21:19:13