用于多个文件的FileSystemWatcher或ASP.NET Cache

时间:2012-10-12 11:36:56

标签: asp.net caching filesystemwatcher

我正在开源我需要填充字典,从多个xml文件中读取值,每当xml文件发生任何更改时,我都需要更新字典。由于我想到使用FileSystemWatcher有多个文件。这是一个好主意吗?或者我将使用具有文件依赖性的ASP.NET缓存?我不确定ASP.NET缓存在多个文件的情况下如何帮助我。

注意:我在更新字典时实现了锁定机制,因此在更新字典的情况下,线程不会成为问题。

1 个答案:

答案 0 :(得分:2)

要为多个文件创建依赖关系,可以使用AggregateCacheDependency,如下所示:

CacheDependency[] depArray = new CacheDependency () 
{
  new CacheDependency(Server.MapPath("foo.txt")),
  new CacheDependency(Server.MapPath("bar.txt"))
};

AggregateCacheDependency aggDep = new AggregateCacheDependency();
aggDep.Add(depArray);

Cache.Insert("key", value, aggDep);