我在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);
我不明白为什么有时会在不同的浏览器会话中工作,有时无法工作。 有人可以帮帮我吗? 感谢。
答案 0 :(得分:0)
使用System.Web.Caching.cache 使用此代码获取缓存
公共字符串[] GetCache() {
string[] cache = Cache["names"] as string[];
if(names == null)
{
cache= DB.GetCache();
Cache["names"] = cache;
}
return cache;
}