asp.netでのキャッシュの依存関係の可能性について少し戸惑っていますが、それらの使用方法がわかりません。
キャッシュ内の他の要素を変更した場合に要素が無効になるように、HttpRuntime.Cacheにアイテムを追加したいと思います。依存関係はキーで定義する必要があります。
私はこのような関数が欲しいです:
public MyObject LoadFromCache(string itemDescriptor, IEnumerable<string> dependencies)
{
var ret = HttpRuntime.Cache[itemDescriptor] as MyObject;
if (ret == null)
{
ret = LoadFromDataBase(itemDescriptor);
//this is the part I'm not able to figure out. Adding more than one dependency items.
var dep = new CacheDependency();
dependencies.ForEach(o => dep.SomeHowAdd(o));
HttpRuntime.Cache.Add(
itemDescriptor,
ret,
dependencies,
System.Web.Caching.Cache.NoAbsoluteExpiration,
System.Web.Caching.Cache.NoSlidingExpiration,
Caching.CacheItemPriority.Normal,
null
);
}
return ret;
}
これで私を助けてください。