質問

私は、Windowsサーバー上のフォルダを監視するには、Windowsサーバー上で.NET FileSystemWatcherを使用しています。 また、私はサンバを使用してLinuxサーバから同じフォルダへのアクセス権を持っています。 私はどこか別の場所に監視フォルダからファイルをコピーする場合、変更イベントは、ソースファイルに対して生成されます。 この動作は正しいですか?ファイルに「最後にアクセスし」時間を変更するようです。どのように私はこの種の変更を無視することができますか?

役に立ちましたか?

解決

「最後にアクセスし、」時間が一貫性のWindowsプログラムによって設定されます。例えば、Windowsでファイルのプロパティのコンテキストメニューを表示すると、この時間はリセットされます。あなたが状態として、Windowsのコピーは、「最終アクセス」の時間を設定していないが、それはコピーをやってSambaの内部のドライバーだとサンバを使用して、Windowsサーバー上のファイルのコピーがありません。

あなたの唯一の回避策は、私は恐れて、あなたのFileSystemWatcherでフィルタを使用して「最終アクセス」の時間を無視することです。

FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = "c:\yourpathhere";
watcher.NotifyFilter = NotifyFilters.LastWrite 
   | NotifyFilters.FileName | NotifyFilters.DirectoryName;

または類似の

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top