仅在引发2个特定的连续FileSystemWatcher事件后才触发事件处理程序

时间:2017-10-08 20:05:08

标签: c# .net events

我正在处理视频游戏的一些保存数据。目的是每次更新保存时将保存复制到备份位置。更新按以下顺序进行:

  1. 删除现有的保存
  2. 创建用于保存的临时文件并将其重命名为原始保存的名称
  3. 使用数据填充保存文件
  4. 我可以在计时器上按名称捕获保存,但事件驱动的备份解决了许多问题(锁定来自游戏和我的应用程序的文件,重复备份)

    问题:

    如何在FileSystemWatcher RENAME事件发生后立即发生的FileSystemWatcher CHANGE事件上启动备份事件?

    我最好的猜测是:

    1. 创建FileSystemWatcher以查找RENAME事件
    2. 为这些RENAME事件设置事件处理程序
    3. 在RENAME事件处理程序内,创建另一个Watcher以捕获CHANGE事件
    4. 为那些执行备份的CHANGE事件设置事件处理程序
    5. 我遇到的问题只是查看CHANGE事件,因为它也在查看DELETED和RENAME事件,并且在完全填充文件之前复制文件存在一些问题,导致备份损坏。

0 个答案:

没有答案