2013-08-05 3 views
3

У нас есть веб-сайт ASP.NET в .NET, который успешно работает на производстве. мы часто поддерживаем наш сервер при определенном простои. Следовательно, нам нужна функция перенаправления всего запроса на сайт под веб-страницей технического обслуживания во время простоя. Я выполнил эту задачу с помощью Custom Handler, но мой клиент не доволен этим решением. Попробуйте альтернативное решение.Как перенаправить сайт обслуживания в asp.net

Мой заказ Handler код следующим

Добавлено Под web.config

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

Добавлено Под Http Handler

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, пояснил here и here.

Если вы хотите, чтобы сайт был недоступен в течение определенного периода времени (или для какого-либо другого внешнего события и т. Д.), Вы можете запустить (запланированный) скрипт на сервере, чтобы создать или удалить файл app_offline.htm, если это необходимо.

+0

Если это лучше, если вы предлагаете перенаправить с самого asp.net – Smaug

+0

@ramesh, см. Мой обновленный ответ. – muratgu

5

App_Offline.html сделаю это.

Подробнее о App_Offline.html здесь.

+0

Мне нужна функция для перенаправления с моей веб-страницы. потому что я хочу сделать автоматическое вычисление времени для простоев. Если тогда, переадресовать на веб-страницу maintanance – Smaug

0

Если вы не можете развернуть код на производственный сервер, как насчет использования командного файла запланированной задачи (или специальной программы) для развертывания и удаления файла App_Offline.html по расписанию?