2015-09-02 31 views
0

我想要實現觀察者模式的網站,以提高一個事件,如果特定服務器目錄中的內容(包括子目錄)改變(增加或刪除的文件或改性)。此外,該目錄無法通過網站網址中的映射進行訪問。通知在目錄中的改變與C#網站asp.net

回答

1

首先,如果你想檢查一個文件夾裏面一直添加刪除一個項目,你可以使用:

List<DirectoryInfo> allSubDirectories = new List<DirectoryInfo>(); 

DirectoryInfo myDir = new DirectoryInfo("/Path/To/Base/Directory/Here"); 

foreach(DirectoryInfo di in myDir.GetDirectories()) 
{ 
    allSubDirectories.Add(di); 
} 

現在allSubDirectories持有的基本目錄中的所有目錄的信息,並在用同樣的方法可以檢索內部目錄。

所以現在我們應該看一看是添加或刪除,像這樣:

int numberOfFiles = someDir.GetFiles().Length; // This will retrieve how much files are there at the start 

然後你可以伊斯利檢查長度是從一些日期時間不同,或者根據您的需求

現在檢查如果一個文件已被修改,查看這裏

https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.changed(v=vs.110).aspx

示例中的類FileSystemWatcher的活動改變無線ch會給出信息,如果文件被打開,更改,修改大小,修改文件名和其他信息。