NAS (共有としてマウント) 上のファイルの変更 (作成/削除/名前変更など) を監視するための適切で安定した方法を探しています。
.NET が提供するFileSystemWatcher -Objectがあることは知っていますが、リモート ストレージ デバイスでは信頼できないとも聞きました。
リモートデバイスをポーリングして、それらのファイルが変更されているかどうかを確認することを考えています(以前に収集されたファイルプロパティとの差分)。
編集:具体的な要件:
- NAS上にあるディレクトリのファイル/フォルダの変更を監視します(パスとおそらく何らかのフィルタが与えられます)
- 変更をログに記録します。ファイル レベルで「file-x の名前が変更/作成/削除されました」と言うのが最善ですが、「folder-x で何かが変更された」と言ってフォルダー レベルでも可能です。
- 外部実行可能ファイルを実行する機能
- WinServer で Windows サービスとして実行 (特定の .NET バージョンは不要)
これを解決するための一般的な手法やベストプラクティスはありますか?
編集:ファイルを一意に識別する方法は?
ファイルは名前で識別できません (変更される可能性があるため)。
しかし、Onkelborg が提案したように、最後に変更/作成されたタイムスタンプ (64 ビット整数のミリ秒) でファイルを一意に識別することは可能ですか? それとも他にアイデアはありますか?