1

是否可以获取特定缓存的过期时间?我希望能找到这样的东西:

HttpRuntime.Cache(key).ExpireTime
4

1 回答 1

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

此处找到的原始答案如何获取 HttpRuntime.Cache 对象的到期日期时间?

请注意,这使用反射。不过效果很好,并以DD/MM/YYYY HH:MM:SS格式为您提供了一个不错的 UTC 日期。

于 2013-10-14T19:05:56.047 回答