구원받지 못한 작업을 잃지 않고 유지 보수를 위해 웹 응용 프로그램을 잠그는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/19854630

문제

ASP .NET에는 현재 사용자가 작업을 잃지 않고 유지 보수를 위해 고정 될 수있는 방법이없는 ASP .NET (여기서 기술이 중요하지 않음)에 큰 웹 응용 프로그램이 있습니다. 이전에 이와 같은 것을 구현하지 않았기 때문에 개발자가 그러한 작업을 위해 취하는 몇 가지 표준 예방 조치와 단계에 대해 듣고 싶습니다.

다음은 내가 생각할 수있는 몇 가지 질문입니다.

  • 각 페이지가 "유지 보수를위한 사이트 다운"페이지로 리디렉션해야합니까? 아니면 상호 작용을 방지하는 더 중심적인 방법이 있습니까?
  • 정기 유지 보수를 중앙 집중화하는 방법 사이트가 잠겨 있기 전에 사용자 운영이 잠금됩니다. 따라서 구원받지 않은 작업의 상실을 방지합니다.

응용 프로그램은 데이터 중심이며 비즈니스 계층에서 트랜잭션 범위를 구현합니다. 로드 밸런싱 또는 복제를 사용하지 않습니다. 나는 틀릴 수도 있지만, BLL이 이것을 처리하는 것은 '옳지 않다'고 생각하지 않습니다. 기사에 대한 모든 제안이나 링크에 감사드립니다.

도움이 되었습니까?

해결책

유지 보수 페이지를 만드는 한 가지 방법은 IIS의 App_offline.htm 기능을 사용하는 것입니다. 이 기능을 사용하면 유지 보수에 대해 알리는 모든 사용자에게 동일한 HTML 페이지를 표시 할 수 있습니다.

여기에 stackoverflow에 좋은 게시물이 있습니다. ASP.NET 2.0- APP_OFFLINE.HTM을 사용하는 방법.

당신이 할 수있는 또 다른 일은 사용자에게 예정된 유지 보수가 있음을 알리고 응용 프로그램 사용을 중지하도록하는 것입니다.

모든 것은 응용 프로그램을 업그레이드하는 데 필요한 시간에 따라 다릅니다. 업그레이드가 새 파일을 업로드하고 1 ~ 2 분 이상 걸리지 않으면 사용자가 보지 못할 가능성이 높습니다.

다른 팁

도움이 될 수있는 응답이없는 답변 : 응용 프로그램을 사용자에게 투명하게 업그레이드 할 수 있도록 응용 프로그램을 설계하십시오. 그런 다음 사용자가 실제로 걱정해야 할 유지 보수 창이 없습니다. 모든 것이 계속 작동하기 때문에 응용 프로그램을 잠글 필요가 없습니다. 트랜잭션이 삭제되면 응용 프로그램이 진행중인 트랜잭션으로 업그레이드 될 수 있다는 명시적인 요구 사항이 있기 때문에 응용 프로그램의 버그입니다. 따라서 해당 기능을 확인하는 테스트가 있습니다.

예를 들어 Netflix를 고려하십시오 : 유지 보수 창이 잠겨 있습니까? 일반 대중이 알고있는 것은 아닙니다. :-)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top