2011-08-29 6 views
0

기본 asp.net 인 메모리 캐시 메커니즘은 시간을 기반으로 캐시에서 항목을 배출합니다. 특정 개체에 대한 특정 상황에서 캐시에서 배출을 취소하는 추가 제어가 필요합니다. 나는 내 자신의 OutputCacheProvider를 굴려 보았지만 Remove 메소드는 결코 호출되지 않았다. 그래서 나는 거기에 로직을 구현할 수 없다. 캐시에서 자동 배출이 다른 곳에서 수행 된 것 같습니다. 아무도 내가 이걸 어떻게 활용할 수 있는지 아니?코드에서 출력 캐시 배출을 방지하는 방법은 무엇입니까?

답변

0

remove 메서드는 해당 기능을 구현하는 공급자에게 달려 있으므로 결코 호출되지 않습니다. Provider.Remove가 OutputCacheModule에서 호출 된 경우가 몇 가지 있습니다. 필자가 보았던 일부 커스텀 공급자는 Get 메서드에서 만료 시간 (또는 다른 만료 논리)을 확인합니다.

기본 동작은 출력 캐싱이 메모리 내 공급자를 사용하는 것입니다. 일반적으로 항목을 HttpRuntime 메모리 캐시에 삽입 할 때 OnItemRemovedCallback을 연결합니다. 실제로 HttpRuntime 캐시는 시간에 따라 캐시를 제거하므로 사용자 지정 공급자 코드가 절대 제거되지 않습니다.

hth

관련 문제