我在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实现。
cache.Get(cacheKey);我不明白为什么有时能在不同的浏览器会话中工作,有时又不能工作。有人能帮我吗?谢谢。
发布于 2018-12-16 11:55:16
使用System.Web.Caching.cache使用此代码获取缓存
公共string[] GetCache() {
string[] cache = Cache["names"] as string[];
if(names == null)
{
cache= DB.GetCache();
Cache["names"] = cache;
}
return cache;}
https://stackoverflow.com/questions/32860945
复制相似问题