2012-04-11 12 views
0

Kann die Ablaufzeit eines bestimmten Caches abgerufen werden? Ich hatte gehofft, etwas zu finden:Ablaufzeit des Cache abrufen

HttpRuntime.Cache(key).ExpireTime 
+0

Überprüfen Sie diese Antwort http://stackoverflow.com/a/350374/309973 – Saad

Antwort

2

Nur aus Gründen der Leichtigkeit, wenn die Menschen diesen Pfosten getroffen hätte, das sehr gut funktioniert:

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; 
    } 

Ursprüngliche Antwort How can I get the expiry datetime of an HttpRuntime.Cache object?

Wohlgemerkt hier , das nutzt Reflexion. Funktioniert aber sehr gut und bietet Ihnen ein schönes UTC-Datum im Format DD/MM/YYYY HH:MM:SS.

Verwandte Themen