개발중인 웹 사이트에 대한 고유 한 캐시 관리자를 만들었으며 특정 상황에서 캐시를 지우는 가장 좋은 방법을 찾고있었습니다. HttpRuntime Close는 광고 된대로 캐시에서 항목을 제거하지 않습니다.
나는 캐시를 삭제하는 적절한 방법을 말하는 많은 기사가 나는 캡슐화 된 기능 HttpRuntime.Close()를 호출 내 단위 테스트 설정에서,그러나 HttpRuntime.Close()를 호출하는 것입니다 발견 캐시가 아닙니다 지우고있다.
가 나는foreach (DictionaryEntry cacheItem in HttpRuntime.Cache)
{
HttpRuntime.Cache.Remove(cacheItem.Key.ToString());
}
foreach는 루프 내 캡슐화 된 기능에 좋은 작품에 비슷한 일을 수행 할 것으로 예상하지만, 닫기() 결코 잘 작동하지 않습니다.
나는 HttpRuntime.Close()의 목적을 오해하고 있습니까? 아니면 여기에 더 불길한 일이 있습니까?
을 실제로 이미했습니다 다음
당신이 캐시에서 항목을 호출 할 수 있습니다 또는 분명 그들이 사용 내 질문에 넣어 코드를 테스트하고 잘 작동합니다. 열거 형 문제는 이해하지만 캐시가 목록을 보면서 항목을 제거하는 데 문제가없는 것처럼 보입니다. – Joseph
그건 내 질문이 아니야. 제가 말하고자하는 것은, 캐시에 4 개의 아이템이 있고 그것을 설명한대로 반복하면 캐시는 0 개의 아이템으로 끝납니다. 그러나 Close()를 사용하면 4 개의 항목이 여전히 존재합니다. – Joseph
문서가 완전한 진실이 아닌 것을 진술하기 때문입니다.Close()는 캐시를 지우는 데 사용되지 않습니다. – Lucero