Как мне перенаправить на определенную страницу, если для сайта нет базы данных ???IIS, ASP.Net - PullRequest
0 голосов
/ 13 октября 2011

У меня есть сайт в IIS.

Это сайт sitecore.Таким образом, он имеет базы данных core, master и web.

Теперь я хочу остановить все базы данных примерно на 2 или 3 часа по некоторым причинам.

Я не хочуостановить сайт.

Вместо этого я хочу перенаправить все запросы на определенную страницу.

Итак, я создал страницу в ее корневом каталоге с именем Error_Page.html.

В web.config,

<customErrors mode="On" defaultRedirect="~/Error_Page.html" />

Я добавляю это.

Я также включаю функцию HTTP Redirect.

И указываю на эту страницу для всех запросов.

Но когда я набираю веб-сайт, он выдает ошибку, что он не может подключиться к базе данных core.

Я знаю, что для работы sitecore ему нужна база данных core.

Я хочу знать, есть ли у меня возможность что-то изменить, чтобы он перенаправил на эту страницу.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 13 октября 2011

Просто добавьте страницу с именем App_Offline.htm в корень приложения, и содержимое этой страницы будет обрабатываться для всех запросов, пока вы не удалите / не переименуете ее.

Смотрите здесь для получения дополнительной информации: http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx

1 голос
/ 13 октября 2011

Упомянутый вами тег customErrors имеет допустимые значения (при условии, что страница Error_Page.html существует).

Поскольку это не работает для вас, вы можете вставить код обработки ошибок в файл Global.asax и обработать там исключение SqlException.

using System.Diagnostics;

protected void Application_Error(object sender, EventArgs e)
{
    // Do some error logging here ....

    // use Server.ClearError to stop the error from bubbling to the web.config
    Server.ClearError();

    // Redirect to the generic error hanlding page of your choice.
    Response.Redirect("~/Error_Page.html");
} 
...