2012-10-12 2 views
1

여러 xml 파일의 값을 읽을 필요가없는 사전을 채울 필요가있는 오픈 소스에서 작업하고 있으며 xml 파일이 변경 될 때마다 사전을 업데이트해야합니다. FileSystemWatcher을 사용하여 생각한 파일이 여러 개 있기 때문에. 이것은 좋은 생각입니까? 또는 파일 종속성이있는 ASP.NET 캐시를 사용해야합니까? ASP.NET 캐시가 여러 파일의 경우 어떻게 도움이되는지 잘 모르겠습니다.여러 파일 용 FileSystemWatcher 또는 ASP.NET 캐시

참고 : 사전을 업데이트하는 동안 잠금 메카니즘을 구현하여 스레딩이 사전 업데이트의 경우 문제가되지 않도록했습니다.

+0

는'FileSystemWatcher' 함께 작업하는 것은 쉽지 않다. 내가 그것을 사용하려고 할 때마다 타이머를 사용하여 업데이트 된 파일 대신 디렉토리를 스캔했습니다. 그것은 훨씬 더 신뢰할 수 있습니다. –

+0

@MartinLiversage ASP.NET 캐시를 여러 파일에 종속시키는 방법을 알고 있습니까? – VJAI

+1

나는 AggregateCacheDependency를 사용해야한다고 생각한다. http://codeidol.com/csharp/csharpckbk2/Web/Caching-Data-with-Multiple-Dependencies/ – VJAI

답변

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); 
+0

콜백은 어떻게 제공합니까? – VJAI

+0

Cache.Insert에는 항목 업데이트 및 삭제 콜백에 대한 두 가지 오버로드가 있습니다. http://msdn.microsoft.com/en-us/library/system.web.caching.cache.insert.aspx – Erwin