2012-04-11 5 views
0

특정 캐시의 만료 시간을 가져올 수 있습니까? 나는 이런 식으로 뭔가를 찾을 기대했다 :캐시의 만료 시간 가져 오기

사람들이 골대에 맞았 경우,이 아주 잘 작동 그냥 용이성을 위해
HttpRuntime.Cache(key).ExpireTime 
+0

이 답변 확인 http://stackoverflow.com/a/350374/309973 – Saad

답변

2

:

private DateTime GetCacheUtcExpiryDateTime(string cacheKey) 
    { 
     object cacheEntry = Cache.GetType().GetMethod("Get", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(Cache, new object[] { cacheKey, 1 }); 
     PropertyInfo utcExpiresProperty = cacheEntry.GetType().GetProperty("UtcExpires", BindingFlags.NonPublic | BindingFlags.Instance); 
     DateTime utcExpiresValue = (DateTime)utcExpiresProperty.GetValue(cacheEntry, null); 

     return utcExpiresValue; 
    } 

원래 대답은 How can I get the expiry datetime of an HttpRuntime.Cache object?

마음을 여기에서 찾을 , 이것은 반사를 사용합니다. 아주 잘 작동하지만 DD/MM/YYYY HH:MM:SS 형식의 멋진 UTC 날짜를 제공합니다.