【问题标题】:FileSystemWatcher on mapped network drive映射网络驱动器上的 FileSystemWatcher
【发布时间】:2011-07-17 16:06:17
【问题描述】:

在实施 FSW 以监控映射的网络驱动器时,您是否应该考虑任何特殊注意事项(权限除外)。如果驱动器失去连接,FSW 会抛出异常吗?如果不是(或者如果我只是捕获/处理该异常),是否足以轮询 DirectoryInfo.Exists 属性来验证连接?

【问题讨论】:

    标签: c# exception-handling filesystemwatcher mapped-drive


    【解决方案1】:

    嗯,我已经使用FileSystemWatcher 来监控网络中另一台计算机上存在的共享文件夹,这是我的经验:

    1. 您可以通过File.Exists或Folder.Exists查看连接。
    2. 如果您失去与该共享文件夹的连接,FileSystemWatcher 将不会引发异常。相反,每当连接丢失时,您都会收到以下错误消息: “指定的网络名称不再可用”。当您收到该错误时,即使重新建立连接,FSW 也将不再处理任何数据,因此请处理FileSystemWatcher.Error 事件,如果引发错误,请再次将EnableRaisingEvents 重置为true,或重新初始化@ 987654329@

    【讨论】:

    • 我在使用 FSW 时遇到了同样的问题。但是,至少在 .NET 4 中,我发现共享返回后我需要做的就是将 EnableRaisingEvents 设置为 false(实际上是在 FSW_Error 处理程序中执行此操作),然后在共享返回时设置 @ 987654332@ 至true。它又开始收集事件了。
    • 很高兴知道,这比重新初始化要好:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多