簡體   English   中英

將.NET Framework 4.5的System.IO.FileSystemWatcher的配置配置為可傳達有關錯誤,容錯,魯棒,智能等的信息

[英]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問答張貼對您有所幫助:

FileSystemWatcher與輪詢以監視文件更改

@ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM