创建一个文件夹及其子文件夹

问题描述:

在ASP.NET我想存储一个对象,其中对特定文件夹中的所有文件和子文件夹中扶养高速缓存上的高速缓存扶养。仅在根文件夹中添加依赖项的对象不起作用。除了在所有文件上创建一系列依赖关系以外,是否有任何合理的方式来做到这一点?创建一个文件夹及其子文件夹

+0

示例代码的解决方案,我给没有工作? - 您可以使用IncludeSubdirectories来包含或排除它们。您可能会因发生多起事件而发现问题。退房http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx – Ramesh 2009-02-13 15:13:04

+0

不知道还没有测试它尚未时间。是的,你已经说过了。 – AnthonyWJones 2009-02-13 17:03:27

我相信你可以滚你自己的缓存依赖和使用FileSystemMonitor监控文件系统的变化。

更新:下面

public class FolderCacheDependency : CacheDependency 
{ 
    public FolderCacheDependency(string dirName) 
    { 
     FileSystemWatcher watcher = new FileSystemWatcher(dirName); 
     watcher.Changed += new FileSystemEventHandler(watcher_Changed); 
     watcher.Deleted += new FileSystemEventHandler(watcher_Changed); 
     watcher.Created += new FileSystemEventHandler(watcher_Changed); 
     watcher.Renamed += new RenamedEventHandler(watcher_Renamed); 
    } 

    void watcher_Renamed(object sender, RenamedEventArgs e) 
    { 
     this.NotifyDependencyChanged(this, e); 
    } 

    void watcher_Changed(object sender, FileSystemEventArgs e) 
    { 
     this.NotifyDependencyChanged(this, e); 
    } 
}