将MemoryCache与HostFileChangeMonitor init一起使用到目录获取ArgumentOutOfRangeException

时间:2012-08-03 15:14:30

标签: asp.net memorycache

我正在使用.NET 4的System.Runtime.Caching中的MemoryCache,我希望在目录更改时使缓存条目无效。

HostFileChangeMonitor应该处理文件和目录,所以我这样添加它:

var cacheItemPolicy = new CacheItemPolicy { SlidingExpiration = TimeSpan.FromMinutes(30) };
cacheItemPolicy.ChangeMonitors.Add(new HostFileChangeMonitor(new List<string> { folder }));

然后我得到一个例外:

System.ArgumentOutOfRangeException: The UTC time represented when the offset is applied must be between year 0 and 10,000.

只有在ASP.NET网站中使用代码时才会发生这种情况。它在控制台应用程序中运行良好。

我在ms connect上找到了this,但我添加到HostFileChangeMonitor的目录已经存在。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

回答我自己的问题:
 将目录添加到HostFileChangeMonitor时似乎4.0有一个错误。

答案 1 :(得分:0)

即使在观看单个文件时,错误仍然存​​在。 我们使用HostFileChangeMonitor只有一个文件的列表,我们客户端的生产服务器抛出此异常。 我们建议使用MS修复:https://support.microsoft.com/en-us/kb/2346777 一旦我们确认错误消失,我就会更新答案。