2012-04-11 17 views
0

特定のキャッシュの有効期限を取得することは可能ですか?これは非常にうまく機能し、人々がこのポストを直撃してしまった場合だけで簡単のためにキャッシュの有効期限を取得する

HttpRuntime.Cache(key).ExpireTime 
+0

この回答を確認http://stackoverflow.com/a/350374/309973 – Saad

答えて

2

:私はこのような何かを見つけることを期待していたここHow can I get the expiry datetime of an HttpRuntime.Cache object?

マインドた

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

オリジナル答えますこれは反射を使用します。非常にうまく動作し、DD/MM/YYYY HH:MM:SS形式の素晴らしいUTC日付を提供します。

関連する問題