問題タブ [filesystemwatcher]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - ファイルシステムの変更を処理するための最適なアーキテクチャは?
シナリオは次のとおりです。
特定のディレクトリの変更を監視するアプリを作成しています。このディレクトリは、「ほぼ」一意の GUID を持つ毎分数千のファイルであふれます。ファイル形式は次のとおりです。
GUID.dat ここで、GUID == xxxxxxxxxxxxxxxxxxxxxxxxxxxxx (内部コンテンツは関係ありませんが、単なるテキスト データです)
私のアプリは、リアルタイムで追加および削除されるすべてのファイルを表示する 1 つのテキスト ボックスを持つフォームになります。新しいファイルが入るたびに、このファイルでテキストボックスを更新する必要がありますが、最初に、この半一意の GUID が本当に一意であることを確認する必要があります。そうであれば、この新しいファイルでテキストボックスを更新します。
ファイルがそのディレクトリから削除されたら、それが存在することを確認してから削除し、それに応じてテキストボックスを更新します。
問題は、私が .NET filewatcher を使用していて、(buffersize + 1) 番目のファイルが入るたびに爆発する内部バッファーがあるように見えることです。アプリを作成し、入ってくるすべてのファイルを追加するだけですが、後で一意の GUID チェックを行いますが、さいころはしません。
c# - FileSystemWatcher Dispose 呼び出しがハングする
Dispose() の呼び出しがハングしているように見える FileSystemWatcher で奇妙な問題が発生し始めました。これはしばらく問題なく動作しているコードですが、.NET3.5 SP1 にアップグレードしたばかりなので、他の誰かがこの動作を見たかどうかを調べようとしています。FileSystemWatcher を作成するコードは次のとおりです。
これが使用されている方法は、TreeNode オブジェクトの状態イメージを更新することです (ビジネス固有の情報を削除するためにわずかに調整されています)。
不足しているものはありますか、それとも .NET3.5 SP1 からの異常ですか?
.net - Reading changes in a file in real-time using .NET
I have a .csv file that is frequently updated (about 20 to 30 times per minute). I want to insert the newly added lines to a database as soon as they are written to the file.
The FileSystemWatcher class listens to the file system change notifications and can raise an event whenever there is a change in a specified file. The problem is that the FileSystemWatcher cannot determine exactly which lines were added or removed (as far as I know).
One way to read those lines is to save and compare the line count between changes and read the difference between the last and second last change. However, I am looking for a cleaner (perhaps more elegant) solution.
.net - ネットワーク サーバー フォルダーを監視するための System.IO.FileSystemWatcher - パフォーマンスに関する考慮事項
ネットワーク サーバー上のフォルダ ツリーの変更を監視したいと考えています。ファイルにはすべて特定の拡張子が付いています。ツリーには約 200 個のフォルダーと、私が見ている拡張子のファイルが約 1200 個あります。
サーバー上で実行するサービスを作成することはできません (立ち入り禁止!) ため、ソリューションはクライアントに対してローカルである必要があります。適時性は特に重要ではありません。通知が1分以上遅れても大丈夫です。作成、削除、名前変更、および変更を監視しています。
.NET System.IO.fileSystemWatcher を使用すると、サーバーに多くの負荷がかかりますか?
監視対象のフォルダー/ファイルの数を減らすために、10 個の個別のウォッチャーはどうですか? (合計で 700 個のフォルダーから 200 個、5500 個のファイルから 1200 個に減少) ネットワーク トラフィックが減少するのではなく増加しますか? 私の考えは、監視対象のファイルを 1 つのツリーの下に配置するためのサーバーの改造です。私は常にこのオプションを持っているとは限らないため、ウォッチャーのチームです。
もう1つの解決策は、FSWがサーバーに過度の負荷をかけているかどうか、またはSysAdminタイプの理由で機能しないかどうかを定期的にチェックすることだと思います.
これを行うより良い方法はありますか?
.net - ファイルをディレクトリにコピーすると、FileSystemWatcher が複数の変更イベントを作成するのはなぜですか
.Net FileSystemWatcher を使用してディレクトリを監視する小さなテスト アプリケーションを作成しました。大きな (数 Mb) ファイルをそのディレクトリにコピーすると、次のイベントが一覧表示されます (スクリーンショットを参照してください。最初は Delete イベントを無視します)。
代替テキスト http://robinwilson.homelinux.com/FSW.png
(予想どおり) 作成されたイベントを取得しますが、2 つの変更されたイベント (約 0.7 秒間隔) を取得します。どうしてこれなの?これは、私が開発しようとしているアプリケーションで大きな問題を引き起こす可能性があります-ファイルを2回使用しようとするためです(おそらく、書き込みが完了する前に1回です!)。これを止めるために私にできることはありますか?私が StackOverflow などで読んだことから、ファイルが変更されてから閉じられると、変更されたイベントが 1 つだけ取得されるはずです。なぜ 2 つ取得するのですか?
vba - 使用中の VBA 監視ファイル
ファイルが編集可能になったとき (つまり、使用されなくなったとき) に通知する何か (Win API 呼び出しなど) を探しています。一定の間隔でファイルをチェックするタイマーを設定する必要がありますか、それとも良い方法がありますか?ファイルに監視を設定するには?
c# - FileSystemWatcher とファイルの変更を監視するためのポーリング
ローカルまたはネットワーク ドライブの両方でディレクトリに作成されるファイルを監視するアプリケーションをセットアップする必要があります。
FileSystemWatcher
またはタイマーのポーリングが最適なオプションでしょうか。私は過去に両方の方法を使用しましたが、広範囲には使用していません。
どちらの方法にもどのような問題 (パフォーマンス、信頼性など) がありますか?
c# - FileSystemWatcher とネットワーク切断?
ネットワークで機能させるにはどうすればよいですか?動作しても、理由もなく動作を停止します (ネットワークが完全ではない可能性があります)。
c# - FileSystemWatcher イベントをどのように単体テストしますか?
ターゲット ディレクトリにダンプされるドキュメントを処理するシステムで作業しています。FileSystemWatcher OnChanged イベントを検出して、ファイルを取得します。
単体テストの一環として、これを自動化するにはどうすればよいですか? 変換が正しいことを確認するために比較する入力ファイルと出力ファイルをどのように整理すればよいですか? これは、diff コマンドを発行するバッチ ファイルでより適切に処理されるものですか?
c# - ファイル サーバー上のファイル アクセスと変更をユーザー名でどのように監視しますか?
会社の共有ファイル サーバー (単純な Windows 共有ディレクトリ) 上の特定のフォルダー内のファイルの変更 (変更、名前変更、削除、移動) を監視する方法を見つけるように依頼されました。FileSystemWatcherを使用してこれらの変更を監視し、特定の電子メール アドレスに通知する単純なアプリを C# で作成しました。
私が今知りたいのは、これらの変更を行ったユーザー/コンピューターの名前/IP を見つける方法です。何か案は?
独自のソフトウェアを作成する代わりに、この機能をサポートする優れた (おそらく無料の) ソフトウェアはありますか?