2009-05-26 277 views
13

我開發了我的第一個Web應用程序,令人驚訝的是,它變得非常流行。將網站置於維護模式?

因爲這個網站現在已經存在,所以我很難做一些改變,擔心有些人還在登錄並且正在使用這個應用程序。

我希望避免重複測試Web應用程序的實例。

有沒有什麼辦法讓網站進入'維護模式',只有我有權訪問它?就像用一些信息重定向到一個頁面,告訴它處於維護模式。

謝謝。 :-)

回答

22

您可以簡單地將一個名爲app_offline.htm的文件放到您的網站的根目錄中,ASP.NET將自動將所有流量路由到此頁面。此文件可以包含任何HTML,表示您的網站由於維護而短時間內關閉。

欲瞭解更多信息,請閱讀App_Offline.htm and working around the "IE Friendly Errors" feature

方式app_offline.htm工作原理是, 你把這個文件中的 應用程序的根。當ASP.NET看到它時, 將關閉 應用程序的應用程序域(並且不會重新啓動它,以獲取 請求),而是發回app_offline.htm文件 的 內容以響應所有新動態 請求申請。 當您完成網站更新時,只需要 刪除該文件,它將在線返回 。

0

什麼版本的ASP.NET?我確信有一百多個更好的方法來做到這一點,但你可以改變IIS中的默認文檔以重定向到Maint.html(或類似的)。

6

除了app_offline.htm之外,ASP.NET中沒有這種內置功能,它不太適合您的需求,因爲即使您將被拒絕訪問該網站。您必須自行構建它,但最好在路由器和負載平衡器級別完成,而不是在應用程序級別完成。當然這取決於你的網絡架構。

31

我希望避免讓 測試的web應用程序的實例有重複的 實例。

這就是您的問題。除了最瑣碎的網站之外,你應該有一個登臺或開發實例。您應該使用源代碼管理並使用腳本來更新主實例。

+0

非常好的問題。我必須考慮的事情。這個項目真的讓我進入了一些不同的方面。 :-) – janhartmann 2009-05-26 19:03:55

2

除了建立你的網站的開發副本來構建補丁和修復程序之外,你能否提前幾天宣佈一個關閉維護站點?我不是一個網絡程序員,但你可能想看看什麼Hattrick,一個流行的在線足球管理,爲維護他們的網站。他們在用戶登錄後在首頁上使用通知系統,通知系統會在何時進行維護(通常是在歐洲大部分玩家和所有開發人員所在的深夜)並關閉網站大概幾個小時。當他們訪問網站時,他們會發佈一個頁面,使用與網站其他部分相同的樣式,並提供關於何時會重新啓動並運行的估計。簡單,優雅,加上長時間的預警,它似乎在安撫用戶羣方面做得很好。

長時間向用戶提出計劃進行的維護計劃,併爲他們提供一些想法,以及大多數人將能夠適應停機時間。沒有比故意去一個10-20分鐘前啓動並運行的Web應用程序發現它突然無法使用並停機維護更令人沮喪的事情。