![](/img/trans.png)
[英]Process similar to filesystem journaling or fault-tolerant logging to manage tasks?
[英]Configure settings of .NET Framework 4.5's System.IO.FileSystemWatcher to be Communicative about Errors, Fault-tolerant, Robust, intelligent, etc
在我的辦公室,我們正在使用( https://docs.microsoft.com/zh-cn/dotnet/api/system.io.filesystemwatcher?view=netframework-4.5).NET Framework 4.5的System.IO.FileSystemWatcher
我們有一個在分布式網絡環境中運行的應用程序模塊。
遠程應用程序模塊之一將具有System.IO.FileSystemWatcher實例,以監視網絡共享目錄中的文件。
在某些情況下,從所述遠程應用程序的角度來看,網絡共享目錄可能會脫機,然后在幾分鍾后重新啟動。
我們在遠程應用程序模塊的代碼中包含以下C#代碼段:
FileSystemWatcher _watcher = new FileSystemWatcher
{
Path = DirectoryPath,
NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName,
Filter = FileNameFilter
};
_watcher.Created += Watcher_CreatedChanged;
_watcher.EnableRaisingEvents = true;
我們注意到,如果網絡共享目錄可能暫時脫機,然后在幾分鍾后重新啟動,則我們的遠程應用程序模塊的FileSystemWatcher實例
-不拋出錯誤,
-更糟糕的是,從遠程應用程序模塊的角度來看,當網絡共享目錄處於脫機狀態時,它沒有注意到可能已被丟棄到該網絡共享目錄中的文件
有人可以告訴我我必須對上述配置代碼進行哪些修改/添加才能制作FileSystemWatcher實例
-關於錯誤的溝通更多?
-關於網絡共享目錄重新聯機時的恢復,是否更健壯和更智能? (在我們的情況下,這意味着注意到脫機時位於網絡共享目錄中的文件(從遠程應用程序模塊的角度來看)
-更多的容錯能力?
FileSystemWatcher有一個Error事件,您正在處理嗎? 您的代碼段顯示您正在處理Created事件,但沒有其他事件。
以下stackoverflow.com問答張貼對您有所幫助:
@ peter-meinl但是,我真的要感謝@ peter-meinl在Wordpress.com上的以下張貼,這對他很有幫助,因為他為.NET的標准FileSystemWatcher創建了這些功能豐富的“包裝”類
https://petermeinl.wordpress.com/2015/05/18/tamed-filesystemwatcher/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.