为什么FileSystemWatcher不触发事件?

  • 回答 (2)
  • 关注 (0)
  • 查看 (131)

出于某种原因,我的FileSystemWatcher也不会引发任何事件。我想知道新文件何时在我的目录中被创建、删除或重命名。_myFolderPath正在正确设置,我已经检查过了。

以下是我的当前代码:

public void Setup() {
    var fileSystemWatcher = new FileSystemWatcher(_myFolderPath);
    fileSystemWatcher.NotifyFilter = NotifyFilters.LastAccess | 
      NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;

    fileSystemWatcher.Changed += FileSystemWatcherChanged;
    fileSystemWatcher.Created += FileSystemWatcherChanged;
    fileSystemWatcher.Deleted += FileSystemWatcherChanged;
    fileSystemWatcher.Renamed += FileSystemWatcherChanged;

    fileSystemWatcher.Filter = "*.*";
    fileSystemWatcher.EnableRaisingEvents = true;
}

private void FileSystemWatcherChanged(object sender, FileSystemEventArgs e)
{
    MessageBox.Show("Queue changed");
    listBoxQueuedForms.Items.Clear();
    foreach (var fileInfo in Directory.GetFiles(_myFolderPath, "*.*", SearchOption.TopDirectoryOnly))
    {
        listBoxQueuedForms.Items.Add(fileInfo));
    }
}
隨心之所願隨心之所願提问于
我是飞仔白马执行力回答于
已采纳

您似乎在将FileSystemWatcher创建为安装方法中的局部变量。在方法结束时,这将超出范围,并且很可能在此时被清理,从而移除手表。

尝试创建FSW在一个点,它将被持久化(如一个程序级变量)。

回答过的其他问题

云安全解决方案的优势是什么?

1.新鲜软件 借助SaaS,所有客户一旦发布,就可以使用运行业务所需的最新版本的应用程序。即时升级将新功能和新功能放入工作人员手中,以提高工作效率。更重要的是,软件增强通常会经常发布。这与本土或购买的软件形成鲜明对比,这些软件可能每年只有一次重大新版本,并且需要花费大量时间才能推...... 展开详请

如何借助云服务降低金融欺诈风险?

可以依托防火墙体系, 有效抵御各种安全攻击,同时提供漏洞修复、溯源取证、防御建议,数据泄漏检测等一系列专业安全服务。 打造专享攻击防护能力以及协同防御方案,保障企业金融业务安全。

深度学习的主要框架有哪些可以通过腾讯云服务器学习?

深度学习框架主要还是国外的几大公司开发的,TensorFlow, Caffe比较热门,具体要上他们的官网查看。

直播答题与游戏直播和电商直播哪个能够掀起更大的风浪?

如何用ES6编写的模块发布到NPM?

以下是如何使用Babel6轻松实现它的方法。 .npmignore /src/ 的gitignore /lib/ /node_modules/ 安装Babel npm install --save-dev babel-core babel-cli babel-preset-...... 展开详请

如何对含有None的Python列表进行排序?

试试这个:

sorted(l, key=lambda x: float('inf') if x is None else x)

因为无穷大于所有整数,None永远排在最后。

关于作者

所属标签

扫码关注云+社区