我正在硬性实施解决此线程中提到的Cache问题MemoryCache Empty : Returns null after being set的解决方法。MVC中的MemoryCache.Default处置解决方法
我的最新尝试,具有下面的代码来获得一个实例,包裹的建议,在using语句来抑制从设置在缓存:
private static CacheDl _instance;
public static CacheDl Instance
{
get
{
if (_instance == null)
{
using (ExecutionContext.SuppressFlow())
{
_instance = new CacheDl();
}
}
return _instance;
}
}
private static ObjectCache Cache { get { return MemoryCache.Default; } }
当然,这也不行。我有也尝试用类似的方式封装Cache'getter',但仍然没有成交。
我也试过指定一个大的pollingInterval来完全压制行为,但仍然没有成功。
private ObjectCache _cache;
private ObjectCache Cache
{
get
{
using (ExecutionContext.SuppressFlow())
{
return _cache ?? (_cache = new MemoryCache("my-cache", new NameValueCollection { { "pollingInterval", "30:00:00" } }));
}
}
}
你猜对了,没有运气。任何帮助将不胜感激。
顺便说一句,我已经申请提到的修复包从Microsoft,但尚未听说回来后已经提交请求4小时什么..
老实说,我真的喜欢,这将被卷起来成官方的Windows Update,所以我们不必为了在非.NET 4.5系统上运行而破解它。
更新: 具体来说,我想知道我是如何实施建议的解决方法。有人可以展示一个如何实现这个例子吗?
感谢您的回答,我结束了这避免了长轮询配置设置会Cache的内部处理。我试图在代码中应用该设置,因为任何原因该代码无法工作,但是在配置中设置值解决了问题,并且我现在还没有任何“处置”缓存问题。 –
谢谢,后来我发现矿井被首先处置的原因是由于我的开发环境中配置不正确,但由于这个问题和其他问题,加上为了安全起见,以防其他错误导致处置,我最终只是改变它使用System.Web.Caching.Cache。 – mao47