0

FileSystemWatcher がイベントを複数回トリガーするようです。これが私の設定です。

 watcher = new FileSystemWatcher();
 watcher.Path = @"D:\testSpace";
 watcher.InternalBufferSize = 1024*64;
 watcher.Deleted += Triggered;
 watcher.Changed += Triggered;
 watcher.Created += Triggered;
 watcher.Error += ErrorOccured;
 watcher.NotifyFilter = NotifyFilters.LastWrite;
 watcher.IncludeSubdirectories = true;

 watcher.EnableRaisingEvents = true; 
  • ドキュメントを変更すると、ドキュメント変更イベントが 2 回トリガーされます。

  • フォルダーの下に新しいファイルが作成されない限り、新しいフォルダー作成イベントはトリガーされません。

  • 削除されたイベントが発生しませんでした(シフト削除も使用してみました)

これらの問題の回避策を知っていますか?

4

1 に答える 1

4

ファイルシステムウォッチャー:

一般的なファイル システム操作では、複数のイベントが発生する場合があります。たとえば、あるディレクトリから別のディレクトリにファイルを移動すると、いくつかの OnChanged イベント、いくつかの OnCreated イベント、および OnDeleted イベントが発生する可能性があります。ファイルの移動は、複数の単純な操作で構成される複雑な操作であるため、複数のイベントが発生します。同様に、一部のアプリケーション (ウイルス対策ソフトウェアなど) によって、FileSystemWatcher によって検出される追加のファイル システム イベントが発生する場合があります。

最初の問題の解決策はリンクに記載されています。

于 2010-04-15T15:43:58.100 に答える