HttpRuntime.Cache
에 저장된 모든 사용자에 공통된 데이터가 있습니다.세션에 저장된 값은 HttpRuntime 캐시의 값에 따라 다릅니다.
그런 다음 사용자 관련 데이터가 세션에 저장되어 있습니다.
HttpRuntime.Cache
은 CacheDependency
메커니즘을 가지고 있으며 캐시의 항목 간 관계를 정의하는 데 사용할 수 있습니다.
세션과 런타임 캐시 간의 종속성을 처리하는 데 사용 하시겠습니까?
CacheDependencies에 추가로 CacheItemRemovedCallback
이 있습니다. 가능하다면이 콜백 중에 각 세션에서 특정 값을 제거 할 수 있습니다.
예, 캐시 종속성의 목적을 알고 있습니다. 나는 세션과 캐시 간의 의존성을 처리 할 수있는 비슷한 것이있을 것이라고 생각했다. 하지만 MAYBE는 사용자 관련 데이터를 세션에서 런타임 캐시에 저장된 사전 또는 해시 테이블로 이동하는 가장 쉬운 방법입니다. –
@Radex : 네, 의존하는 개체에 사용자 종속 데이터를 저장하는 것이 더 쉬울 수도 있습니다. 'Session_End' 이벤트로부터 사용자에 대한 데이터를 지울 수 있도록 사용자 데이터가있는 곳에서 객체에 대한 참조 콜렉션을 유지할 수 있습니다. 웹 응용 프로그램은 다중 스레드이므로 다른 사용자가 액세스하는 모든 객체에 대한 액세스를 동기화해야합니다. – Guffa