2009-02-12 150 views
3

在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

回答

7

我相信你可以滾你自己的緩存依賴和使用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); 
    } 
} 
相關問題