2010-11-19 9 views
4

HttpRuntime.Cache.Remove (key)를 사용하여 캐시를 제거하려고하지만 인벤토리를 가져 오려고합니다. 나는 HttpRuntime.Cache를 사용하는 가장 좋은 방법이 무엇인지 궁금합니다.HttpRuntime.Cache.Remove가 캐시를 제거하지 않습니다.

감사

+3

정확히 무엇을하려고하고 어떤 일이 일어나고 있는지/어떤 일이 일어나지 않았는지에 대한 세부 정보를 제공하십시오. 문제를 나타내는 예제 코드를 사용하는 것이 좋습니다. – LukeH

답변

12

Remove 방법은 완벽하게 잘 작동하고 주어진 키 캐시에서 항목을 제거합니다. 다음 예는 다음과 같습니다

class Program 
{ 
    static void Main() 
    { 
     // add an item to the cache 
     HttpRuntime.Cache["foo"] = "bar"; 
     Console.WriteLine(HttpRuntime.Cache["foo"]); // prints bar 

     // remove the item from the cache 
     HttpRuntime.Cache.Remove("foo"); 
     Console.WriteLine(HttpRuntime.Cache["foo"]); // prints empty string 
    } 
} 

그것은 아마 당신이 잘못이 그것을 사용하는 방법입니다. 불행히도 이것은 귀하의 질문에 명시되지 않았으므로 우리가 도울 수있는 범위 내입니다.

+0

이제 완벽하게 작동합니다, 대런. 사용 해줘서 고마워. –

2

한 번 재미있는 시간을 보내어 매우 비슷하게 보였습니다. 다시 캐시에있는 것을 제거하기 위해 뭔가를 제거했습니다. 매번 다시 넣는 제거 트리거로 밝혀졌습니다. 그런 부작용을 찾으십시오.

+0

이 ^. HttpRuntime.Cache.Remove()가 호출 된 후 대리자 'CacheItemRemoved'콜백 메소드가 실행되며 거기에 항목을 다시 추가하고있는 것 같습니다. – maxp

관련 문제