error-handling - 将 .NET Framework 4.5 的 System.IO.FileSystemWatcher 的设置配置为可就错误、容错、健壮、智能等进行交流

标签 error-handling runtime-error filesystemwatcher fault-tolerance robustness

在我的办公室,我们正在使用 (https://docs.microsoft.com/en-us/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 有一个错误事件,你在处理吗?您的代码段显示您正在处理 Created 事件,而不是任何其他事件。

关于error-handling - 将 .NET Framework 4.5 的 System.IO.FileSystemWatcher 的设置配置为可就错误、容错、健壮、智能等进行交流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57209573/

相关文章:

php - 自升级为山狮以来,PHP错误处理已消失

xml - 使用 MSXML 加载 XML 时如何获得英文错误消息

vb.net - “GenerateResource”任务CLR2运行时错误

C# FileSystemWatcher 未在服务中正确触发

windows-mobile - OpenNETCF.IO.FileSystemWatcher 中多次发生的事件

c - 在 C 语言中,函数可以 exit() 还是应该允许 main() 来处理?

java - 如何解决运行时错误 "Access denied finding property"?

python - .clear() 对于列表不起作用 - python

c# - WPF - 无法更改 OnChanged 方法内的 GUI 属性(从 FileSystemWatcher 触发)

php - 错误处理 "URL file-access is disabled..."