문제

사용자가 로그인 할 때 캐시에 무언가를 삽입하고 있습니다.

이제 사용자 세션이 만료되면 캐시에서 삭제하고 싶습니다. httpcontext는 null입니다. 그래서 세션이 만료 된 사용자를 모릅니다. 이것을 찾는 방법은 무엇입니까?

편집하다: 불행히도 SessionID는 나에게 많은 것을 제공하지 않습니다. 이 특정 사례에서 내가하고있는 일은 승인 Quest를 처리하여 다른 시스템의 다른 사용자가 로그인 할 수 없는지 확인하기 위해 Cache에 현재 사용자 이름을 삽입하는 HTTPModule을 사용하는 것입니다. 그러나 세션은 httpmodule에서 null입니다. 그래서 나는 그것을 사용할 수 없습니다. 다른 제안이 있습니까?

도움이 되었습니까?

해결책

httpmodule에서 세션에 접속할 수 있습니다. 초기화 될 때까지 기다려야합니다.http://msdn.microsoft.com/en-au/system.web.httpapplication.acquirerequeststate.aspx)

다른 팁

Global.asax에서 Session_end 이벤트를 처리하십시오. 여기에서 SessionID에 액세스 할 수 있어야합니다.

각 페이지의 캐시 된 항목에 액세스하고 있다고 가정하면 캐시 된 항목을 슬라이딩 만료로 설정할 수 있습니다. 만료 시간을 세션 타임 아웃과 동일하게 설정하십시오. 슬라이딩 만기를 사용하면 객체에 액세스 할 때마다 캐시가 새로 고침되며 해당 시간 내에 액세스하지 않으면 폐기됩니다.

보다 http://msdn.microsoft.com/en-us/library/4y13wyk9.aspx 자세한 내용은.

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