我在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);


我不明白为什么有时有时在不同的浏览器会话中起作用而有时不起作用。
有人可以帮我吗?
谢谢。

最佳答案

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

公共字符串[] GetCache()
{

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


}

关于c# - MemoryCache Aspnet MVC,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32860945/

10-11 19:05