我在具有多个库的整个应用程序中使用以下类CacheHelper。当我在本地进行测试时,缓存工作正常,但是当将其部署到Web服务器时,它似乎不起作用(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));
答案 0 :(得分:-2)
如果要在控制器中使用它,则很可能会应要求使用新实例。