ファイルのピックアップおよび再試行ロジック
ファイル システム監視イベント プロバイダがイベント ファイルの読み込みに失敗した場合、イベント プロバイダはそのファイルをキューに追加し、後からファイルを処理することができます。このトピックでは、ファイル システム監視でのファイルのピックアップおよび再試行ロジックについて説明します。
ファイル キュー
ファイル システム監視イベント プロバイダを実行する Windows サービスまたはアプリケーションが起動され、イベント プロバイダが有効になっている場合、ファイル システム監視イベント プロバイダは、読み取りを行う権限を持っているすべての .xml ファイルをキューに追加します。ファイルをキューに格納すると、FileSystemWatcher クラス内のバッファがいっぱいになるのを防ぎ、ファイルの処理が妨げられなくなります。
新しい .xml ファイルが追加されると、これらのファイルはすぐに処理されます。イベント プロバイダを起動するとき、またはファイルの処理の試行時にエラーが発生した場合にのみ、新しいファイルがキューに追加されます。
ファイル システム監視イベント プロバイダは、イベント プロバイダを定義するときに指定するスケジュールに従って、キュー内のファイルの処理を試みます。キュー内のファイルごとに、ファイル システム監視イベント プロバイダは、ファイルからデータを読み取ろうとします。イベント プロバイダがデータを正常に読み取り、アプリケーションに正常に送信すると、キューからファイルが削除されます。
再試行にはスレッドが 1 つ使用されることに注意してください。Notification Services は、一度に 1 回の試行を処理します (複数のファイルを含めることができます)。この再試行が完了するまで、後続の再試行はスキップされます。
ロックされたファイルおよびアクセスできないファイル
ファイルがロックされている場合に、ファイル システム監視イベント プロバイダがデータを読み取ろうとすると、イベント プロバイダはそのファイルをキュー内に残したまま、ファイルのカウンタを増分します。イベント プロバイダは、指定したスケジュールに従って、再試行回数の上限に達するまで、ファイルを再試行します。
ファイルのセキュリティ設定により、ファイル システム監視イベント プロバイダがファイルにアクセスできない場合は、そのファイルはキューに追加されません。その代わり、Notification Services は、そのファイルに対するセキュリティの変更を監視します。セキュリティの変更が発生すると、そのファイルはキューに追加されます。
参照
概念
ファイルの検証
ファイル システム監視イベント プロバイダの定義
その他の技術情報
ファイル システム監視イベント プロバイダ
標準イベント プロバイダ
イベント プロバイダの定義