2013-08-05 23 views
3

我們在.NET中有一個ASP.NET網站,它在生產中成功運行。我們經常在特定的停機時間維護我們的服務器。因此,我們需要一個功能來將所有請求重定向到停機時間的維護網頁。我已經使用Custom Handler完成了這項任務,但我的客戶對此解決方案並不滿意。請建議一些備用解決方案。如何在asp.net中重定向維護站點

我的自定義處理程序代碼如下

添加在web.config中

<system.webServer> 
     <modules> 
      <add name="CustomModule" type="CustomModule"/> 
     </modules> 
    </system.webserver> 

在HTTP下加入了處理

public class CustomModule : IHttpModule 
    { 
     // In the Init function, register for HttpApplication 
     // events by adding your handlers. 
     public void Init(HttpApplication application) 
     { 

      application.EndRequest += 
       (new EventHandler(this.Application_EndRequest)); 
     } 
} 

重定向代​​碼放在這裏

private void Application_EndRequest(Object source, EventArgs e) 
     { 

      if (fileExtension.Equals(".aspx") == true && filePath.Contains("Contact.aspx") == false) 
      { 
       context.Response.Redirect("Contact.aspx"); 
      } 
     } 
+2

爲什麼客戶不滿意呢? – David

+0

它已經投入生產。所以他們不想實現自定義處理程序。 – Smaug

+1

http://blogs.msdn.com/b/amb/archive/2012/02/03/easiest-way-to-take-your-web-site-offline-iis-6-0-or-iis-7 -5-with-net-4-0.aspx假設你是最近的iis版本 – rene

回答

8

只需使用app_offline.htm,解釋爲herehere

如果您想在特定的時間段(或其他外部事件等)中關閉網站,則可以在服務器上運行(預定)腳本以在需要時創建或刪除app_offline.htm文件。

+0

如果最好,如果你建議從asp.net本身重定向 – Smaug

+0

@ramesh,請參閱我更新的答案。 – muratgu

5

App_Offline.html會這樣做。

閱讀關於App_Offline.html這裏。

+0

我需要一個功能從我的網頁重定向。因爲我想爲停機做一些自動時間計算。如果那麼,重定向到維護網頁 – Smaug

0

如果您無法將代碼部署到生產服務器,那麼如何使用計劃任務批處理文件(或自定義程序)按計劃部署和刪除App_Offline.html文件?