.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.NETWebサイトでコードを使用した場合にのみ発生します。コンソールアプリケーション内からは正常に動作します。
これはmsconnectで見つかりましたが、HostFileChangeMonitorに追加しているディレクトリが存在します。
ご協力いただきありがとうございます。