Спасибо за ответы, пока я должен отметить, что я не тот, кто занимается техническим обслуживанием, и при этом у меня нет постоянного доступа к IIS. Кроме того, я предпочитаю варианты, где я ничего не делаю, поскольку, как и все программисты, я немного ленив.
Я знаю, что одним из способов является проверка флага на каждой странице, но я надеюсь избежать его. Не могу ли я что-то сделать со страницей global.asax, на самом деле, я думаю, что публикация затронула мой мозг:
Думаю, я мог бы добавить в Application_BeginRequest немного кода для проверки состояния SQL, а затем перенаправить:
HttpContext context = HttpContext.Current;
if (!isOnline())
{
context.Response.ClearContent();
context.Response.Write("<script language='javascript'>" +
"top.location='" + Request.ApplicationPath + "/public/Offline.aspx';</scr" + "ipt>");
}
Или что-то в этом роде может быть не идеальным, еще не проверенным, поскольку я не на работе. Комментарии приветствуются.