2013-02-21 4 views
0

데이타베이스에서 렌더링되는 Razor Views로 작업하는 약간의 CMS가 있습니다. 페이지 중 하나를 바꿀 때까지 모든 것이 잘 작동합니다.HttpRuntime.Cache - 항목의 생성 시간을 얻으려면

페이지가 가상 경로에 할당되었으므로 MVC 또는 RazorViewEngine이보기를 캐시하므로 완전한 의미를 갖습니다.

누군가가 변경 한 경우 특정보기에 대한 캐시를 지우고 싶습니다. 또한 내가 페이지를 렌더링하기 전에 캐시를 지우고 싶습니다. 그래서 내 생각은 "업데이트 된"DateTime 정보를 데이터베이스의 내보기에 추가하는 것입니다.이 필드는 테이블의 표준 필드 중 하나이므로이 필드는 HttpRuntime.Cache에있는 항목의 CreateTime과 비교하십시오. VisualStudio를 사용하는 CreationTime이 있음을 알 수 있습니다 만,이 값을 얻기 위해 Reflection을 경험하지는 않았습니다.

또한 내가 들었 듯이, Reflection은 매우 빠르지 않으며 페이지를 렌더링 할 때마다 페이지를 느리게해야만한다.

제 질문은 1입니다. Reflection을 사용하여 HttpRuntime.Cache 항목에서 CreationTime을 얻을 수 있도록 도와주는 사람이 있습니까? 누군가 더 좋은 방법을 알고 있습니까?

답변

0

내가 MVC 프레임 워크의 잘못된 위치에 있었는데, 내가 수행 한 작업은 VirtualPathProvider의 캐시입니다. 덮어 써야하는 메소드를 발견했습니다. 같은 문제에 직면 한 사람들에게.

  • GetCacheDependency
  • GetFileHash
관련 문제