是否可以获取特定缓存的过期时间?我希望能找到这样的东西:
HttpRuntime.Cache(key).ExpireTime
只是为了方便人们点击这篇文章,这很好用:
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;
}
此处找到的原始答案如何获取 HttpRuntime.Cache 对象的到期日期时间?
请注意,这使用反射。不过效果很好,并以DD/MM/YYYY HH:MM:SS
格式为您提供了一个不错的 UTC 日期。