我有下面的类CacheHelper,我在我的应用程序中使用它,它有多个库。当我在本地测试缓存时,它工作得很好,但当它部署到when服务器上时,它似乎不起作用(GET返回null)。有什么想法吗?
public class CacheHelper
{
/// <summary>
///
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public object GetValue(string key)
{
var memoryCache = MemoryCache.Default;
return memoryCache.Get(key);
}
/// <summary>
///
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="absExpiration"></param>
/// <returns></returns>
public bool Add(string key, object value, DateTimeOffset absExpiration)
{
var memoryCache = MemoryCache.Default;
return memoryCache.Add(key, value, absExpiration);
}
/// <summary>
///
/// </summary>
/// <param name="key"></param>
public void Delete(string key)
{
var memoryCache = MemoryCache.Default;
if (memoryCache.Contains(key)) memoryCache.Remove(key);
}
}
在我的整个应用程序项目中使用:
var cacheHelper = new CacheHelper();
var cachedValue = cacheHelper.GetValue(keyName);
下面是我如何设置它的:
cacheHelper.Add(keyName, cacheValue, DateTimeOffset.UtcNow.AddMinutes(30));
发布于 2018-08-08 08:39:33
如果你在控制器中使用它,你很可能在每次请求时使用一个新的实例。
https://stackoverflow.com/questions/51734521
复制相似问题