MemoryCache Aspnet MVC

时间:2015-09-30 08:04:13

标签: c# asp.net-mvc memorycache

我在aspnet中实现MemoryCache对象时遇到了问题。 这是我的代码

        ObjectCache cache = MemoryCache.Default;
        CacheItemPolicy policy = new CacheItemPolicy();
        policy.AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(10.0);
        cache.Add("keyName", resultQuery, policy);

对象在缓存中插入是正确的,但是当我删除并重写它时,视图中的新对象仅在我的会话中可见。

        var q = queryObject;
        var cacheKey = "keyName";
        MemoryCache.Default.Remove(cacheKey);
        ObjectCache cache = MemoryCache.Default;
        CacheItemPolicy policy = new CacheItemPolicy();
        policy.AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(10.0);
        cache.Add(cacheKey, q, policy);

这就是简单的Get Implementation。

        cache.Get(cacheKey);

我不明白为什么有时会在不同的浏览器会话中工作,有时无法工作。 有人可以帮帮我吗? 感谢。

1 个答案:

答案 0 :(得分:0)

使用System.Web.Caching.cache 使用此代码获取缓存

公共字符串[] GetCache() {

string[] cache = Cache["names"] as string[];
if(names == null)
{
cache= DB.GetCache();
Cache["names"] = cache;
}
return cache;

}