디스크의 XML 파일을 편집하는 데 사용되는 내부 앱이 있습니다. XML 파일은 ApplicationState에 저장된 오브젝트 모델로로드됩니다.ASP.Net (MVC)에 ApplicationState의 내용 저장
이 데이터를 저장해야합니다. 한 가지 옵션은 사용자가 일부 데이터를 변경할 때마다이 작업을 수행하는 것입니다. 그러나 이것은 약간 비효율적 인 것처럼 보입니다 - 변경이 이루어질 때마다 디스크에 데이터를 기록합니다.
대신 사용자가 브라우저를 종료 할 때마다 웹 서버가 종료되기 바로 전에 알림을받을 수 있습니까? 따라서 데이터는 세션이 끝날 때마다 컴퓨터가 종료 될 때마다 저장됩니다. Global.asax의 Application_End(), Application_Error() 및 Session_End()가이를 제공 할 것이라고 생각했지만 이러한 메서드는 제공하지 않습니다. 불리는 것 같습니다.
Session_End는 InProc 세션 관리를 사용할 때만 호출되며 응용 프로그램이 어떤 이유로 다시 시작되면 전혀 호출되지 않으므로 신뢰할 수있는 것은 아닙니다. –
응용 프로그램이 다시 시작되면 Application_End 메소드에서 저장 작업을 수행 할 수 있습니다. – Liam
Zhaph가 지적한대로 Session.End 이벤트는 Web.config 파일에서 세션 상태 모드가 InProc로 설정된 경우에만 발생합니다. 세션 모드가 StateServer 또는 SQLServer로 설정된 경우 이벤트가 발생하지 않습니다. – Liam