2011-04-08 4 views
0

asp.net 웹 응용 프로그램이 있습니다. 응용 프로그램을 실행 한 후 application_Start가 호출되었습니다. 몇 분 (약 10-15 분) 후에 viewstate와 sessionstate를 잃어 버렸고 application_Start가 다시 호출되면 페이지를 보유하고 페이지를 다시로드 (또는 다시 게시)합니다.
application_Start라는 사이트를 열면 브라우저를 닫고 몇 분 후에 (위에서와 같이) application_Start가 다시 호출되면 사이트를 다시 엽니 다. 내 호스트에서만 발생했습니다. 그러나 localhost에서는이 문제에 직면하지 않았습니다. 내 애플리케이션이나 호스트에서 문제가 발생 했습니까? 어떻게 문제를 추적 할 수 있습니까?Application_Start() 사이트를 사용하지 않을 때마다 호출됩니다.

답변

2

응용 프로그램 풀이 재활용되고있는 것 같습니다. 자세한 내용은 IIS6의 경우 here을 읽고 IIS32의 경우 here을 읽으십시오.

+1

예, 이는 정상적인 동작입니다. inproc 대신에 상태 서버 세션 상태를 사용하는 것이 좋습니다. 상태 서버는 세션이 동일한 서버 또는 다른 서버의 다른 프로세스에 저장되며 asp.net 작업자 프로세스에 저장되지 않는다는 것을 의미합니다. 즉, 응용 프로그램 풀이 재활용되면 세션 상태가 유지됩니다. 또는 Jonas가 제안한대로 SQL Server 세션 상태를 사용할 수 있습니다. –

+0

정상적인 경우 특정 시간 후에 응용 프로그램이 어떤 활동도받지 못하면 호스트 프로세스가 종료되어 세션이 손실됩니다. SQL 세션 상태를 사용하여이를 처리하거나 작업자 프로세스가 지속되는 기간을 늘릴 수 있습니다. – Jonas

+0

@Russ Cam :이 동작을 변경하는 방법이 있습니까? 아니면 내가 그대로 두어야 해? – Raika

관련 문제