2017-09-20 18 views
0

폼 인증을 사용하는 ASP.NET Web Forms 응용 프로그램이 있습니다.ASP.NET 웹 양식 : 개발 환경에서 코드를 변경 한 후 엔지니어가 로그 아웃 됨

클래스 라이브러리 프로젝트와 달리 기본 웹 사이트 프로젝트 (예 : ASPX 페이지)를 변경하면 전체 솔루션을 다시 컴파일하지 않아도 브라우저에서 결과를 테스트 할 수 있습니다. 변경 사항을 저장하고 브라우저를 새로 고치기 만하면됩니다.

한 가지 변경을 한 후에 브라우저를 저장하고 새로 고침하면 모든 것이 정상적으로 작동합니다. 그러나 6 번째 또는 7 번째 또는 8 번째 변경 후에는 로그 아웃됩니다. 로그인 화면으로 돌아가려면 브라우저를 새로 고치려고 길게 (5 분) 지연됩니다.

인터넷 검색을 시도했지만 관련 정보를 찾지 못했습니다. 누구든지이 문제의 원인이 될 수 있거나 올바른 방향으로 나를 가리킬 수 있습니까?

미리 감사드립니다.

+0

어쩌면이 도움이 될 수 있습니다 https://stackoverflow.com/a/13230002/3778318 당신이 올바른지 –

답변

1

세션이 "InProc"모드 일 가능성이 높습니다. 세션 변수가 .NET 작업자 프로세스에 로컬로 저장된다는 의미입니다.

은 참조 : https://blogs.msdn.microsoft.com/webtopics/2009/07/21/in-proc-session-state-management/

마음이 데, 당신은 마크 업 파일을 업데이트 할 때마다이 (ASPX) .NET을 사용하면 전체 솔루션을 재 컴파일 할 필요없이 변경 사항을 볼 수 있습니다, 그것은 단지가 될 수있는 영문을 사전 컴파일 무엇 세션 변수가 사라질 수 있습니다.

당신은이 동작을 방지하기 위해 여기에 방법이에 대한 더 광범위한 답을 찾을 수 있습니다 https://stackoverflow.com/a/13230002/3778318

+0

, 우리가을 InProc을 사용합니다. 그것은 내가 마크 업 파일 (ASPX) 변경을 할 수있게 해주고, aspx를 미리 컴파일하고, 브라우저에서 업데이트 된 변경 사항을 볼 수있다. 문제는 n 번째 태그 파일 (ASPX) 변경시 세션 변수가 사라지게하는 것입니다. 게시 한 SO 기사가 링크가 끊어져서 좋은 해결책이없는 것 같습니다. 허용 된 대답은 VS 2015에도 적용되지 않습니다. 다른 솔루션은 StateServer 또는 SQLServer를 사용하여 세션을 저장하는 것으로 보이며 이는 개발자에게만 발생하는 문제에 대한 좋은 해결책으로 보이지 않습니다. – Pavel