是否可以获取特定缓存的到期时间?我希望能找到这样的东西:
HttpRuntime.Cache(key).ExpireTime
答案 0 :(得分: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日期。