2011-07-17 94 views
6

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

回答

6

好了,我已经使用了FileSystemWatcher来监视网络中的其他计算机上存在的共享文件夹,这里是我的经验:

  1. 您可以检查通过File.ExistsFolder.Exists连接。
  2. 如果您失去与该共享文件夹的连接,FileSystemWatcher不会引发异常。相反,只要连接丢失,您将收到以下错误消息: “指定的网络名称不再可用”。如果您收到错误,FSW将不再处理,即使重新建立连接任何数据,因此处理FileSystemWatcher.Error事件,如果引发的错误,重新复位EnableRaisingEventstrue,或重新初始化FSW
+3

我跑过与我正在使用的FSW相同的问题。但是,至少在.NET 4中,我发现在共享返回后我需要做的就是将'EnableRaisingEvents'设置为'false'(实际上在FSW_Error处理程序中执行了此操作),然后在共享回来时设置' EnableRaisingEvents'设置为“true”。它开始重新开始活动。 – Jim

+0

很高兴知道,这比重新初始化好:) –