2011-05-02 3 views
5

데이터베이스가 다운되었거나 데이터베이스 어댑터가 누락되었거나로드하지 못했을 때 사이트를 오프라인으로 전환하는 방법은 무엇입니까?중요한 서비스를 사용할 수없는 경우 ASP.NET 사이트를 오프라인으로 만드는 방법

ASP.NET MVC 3의 컨텍스트에서 묻지 만 모든 ASP.NET 사이트에 적용 할 수 있습니다.

App_Start 어딘가에 데이터 액세스를위한 어셈블리를로드하고 이것이 누락되어 있거나 다른 오류가 발생했다고 가정 해 보겠습니다. 이 경우 사이트가 실제로 작동하지 않습니다.

App_Offline.htm처럼 "유지 관리 모드"에서 사이트를 배치하기에 알맞은/우아한 방법을 찾고 있습니다.

+1

유지 관리 모드를 정의 하시겠습니까? 전체 응용 프로그램을 오프라인으로 전환 하시겠습니까? – mellamokb

+0

예! 유지 관리 모드는 전체 응용 프로그램을 오프라인으로 전환하고 모든 웹 요청에 대해이 웹 페이지가 유지 관리 모드에 있음을 나타냅니다. –

답변

6
catch (ReallyBadException ex) { 
    Utilities.EmailAdministrator(); 
    File.Copy(@"c:\templates\App_Offline.htm", @"c:\path\to\website\App_Offline.htm"); 
} 
+0

오 ... 그래서 나는 App_offline.htm 파일을 만들지 못한다. –

+1

당신은'App_Offline.htm'과 같은 것을 원했고, 왜'App_Offline.htm'을 사용하지 않을까? 당신은 그것에 대해 무엇을 가지고 있습니까? 소위 '유지 보수 모드'는 당신에게 어떤 모습일까요? – mellamokb

+0

아니요, mellamokb, 나는 그것에 반대하지 않습니다 :) 단지 더 우아하고, 더 쉽고, 더 직선적 인 것이 있으면 될지 물어보고 있습니다. 이것이 이상적이라면! :) –

1

밖으로 Circuit breaker pattern

어쩌면 너무 일반적 당신을 위해 확인하지만 당신을 도울 수 (난 당신이 특정 개념 솔루션 또는 ASP.NET을 찾고 있다면 확실하지 않다).

+1

사용할 수있는 톤의 톤. 여기에 더 많은 .net 예제가 있습니다. http://timross.wordpress.com/2008/02/10/implementing-the-circuit-breaker-pattern-in-c/ –

관련 문제