C#のFileSystemWatcherでファイル監視について

このQ&Aのポイント
  • C#のFileSystemWatcherを使用したファイル監視処理について質問があります。
  • ファイル監視中に一部ファイルのCreatedイベントが発生しない現象が発生しました。解決策や他の実装方法を教えていただきたいです。
  • 開発環境はWinXp proとC#2005です。困っている状況ですので、どうかご教示いただければ幸いです。
回答を見る
  • ベストアンサー

C#のFileSystemWatcherでのファイル監視について

見ていただいてありがとうございます。 どうかお知恵を拝借させてください。 '----------------------- 開発環境 WinXp pro C#2005 '----------------------- C#にて、[とあるフォルダ内のファイル監視処理]を実装しています。 FileSystemWatcherのCreatedで、このフォルダ内でのファイル作成 を監視する様に実装したのですが、問題が発生しました。 ftpを複数起動し、このフォルダに対し、ほぼ同時に複数件の ファイルをダウンロードしたところ、一部ファイルのCreatedが 発生しませんでした。 同様の現象が発生した方、その解決法を御教示ください。 また、FileSystemWatcher以外での良い実装方法があれば 御教示ください。 困り果てています。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Ceren
  • ベストアンサー率49% (90/183)
回答No.1

FileSystemWatcherクラスのリファレンスには、イベントの見落としを予防する方法として 「InternalBufferSize プロパティを使用してバッファ サイズを大きくする」とか 「ロング ファイル名を使ってウォッチすることは避ける」 といったガイドラインが示されていますが、そのあたりはもう試されたということでしょうか?

TTU006
質問者

お礼

見落としていました・・・。 ありがとうございます。 今回は別の方法で回避することになりましたが、 教えていただいたことは今後に生かそうと思います。

関連するQ&A

  • フォルダ内のファイル存在監視する常駐プログラム

    あるフォルダ内に、あるファイルの存在を監視して、存在するとある処理を実行するような常駐型の監視プログラムをどのようにすればよいか教えてください。 ファイルはフォルダ内に複数存在する場合があり、古いもの順に取得し処理していきたいのです。 フォルダ名:c:\test\ ファイル名:aaa2009090415001234.txt (1)       aaa2009090416001234.txt (2)  とあると、(1)→(2)の順で処理したい。 aaaYYYYMMDDHHMMSS.txt の形式ファイル Windows系で、できればVBSがいいです。 サンプルコードまたは流れなどがわかれば幸いです。 よろしくお願いします。

  • ファイル、フォルダの変更監視

    お世話になります。 NASを含むLANを連絡ツールとして使用しています。 例えれば、電話番がオーダーを受けNASに書き込み、それを離れた現場のPCで閲覧して オーダーにあった製品を作るというものです。 防塵マスクをして作業するような環境なので携帯連絡を受けたくはなく。 頻繁に現場PC閲覧に行くも空振りも多く。 そのためファイル、フォルダに変更あればPC画面に表示し、あるプログラムを動作させたいと思い フォルダ監視等のソフトを試しました。 ここで問題発生。 NASの監視ファイルを開くと、それだけで更新時間が変更されフォルダ監視が作動。 閲覧のみでファイルを閉じると、本当の保存時間に更新時間が戻りまたフォルダ監視が作動と ムダな反応が多すぎます。 変更権限を持つ4人すべてのPCにこれが当てはまるためムダな監視の嵐。 NASはWIN、MACと違うOSのためタイムスタンプが狂うのは制限事項とのこと。 ファイル、フォルダのサイズの変化を監視すれば防げるのではないかと思うのですが、ある容量を 超えるか監視するという、しきい値式しか見つけられず。 何か良い方法、ソフトがないかご教示願いたく。 本当にオーダー変更の場合、事務所のSWで現場にパトライトをつけるか携帯ワン切りかという 考え方が今のところの解決策かなあと考えています。 3路SWのような感じです。

  • Web上のフォルダ監視プログラム

    決められたWebフォルダにファイルがアップロードされたことを検知して、 そのファイルを使って、別のフォルダに移動させたり、ファイル内のデータを取得したり、 といった処理をしたいのですが、アップロードされたことを検知する方法が分かりません。 ローカルフォルダやネットワーク、FTPなどでは、 FileSystemWatcherで監視できるのは実現できたのですが、 Web上のフォルダとなると、いろいろ調べてもヒットできなかったので、 質問させていただきました。 検知の方法は、一定間隔でファイル一覧を取得して、前回との差異で判断させようと 考えていますが、他にいい方法があれば教えていただければ助かります。 開発はVB.NETまたはPowerShellでしたいと考えています。 よろしくお願いします。

  • フォルダー内のエクセルファイルのW.C.でエラー

    ある時突然下記の現象が発生し困っています。  使用環境 OS Vista        Office 2007 フォルダー内のエクセルファイルをダブルクリックして開こうとすると  'C:¥Users¥taro¥Documents¥開きたいファイル.xlsx'が見つかりません。  名前を正しく入力したかどうかを確認してから、やり直してください。 というメッセージが表示されファイルが開きません。 予めエクセルを起動しておいて、ファイルを選択してエクセル上にドロップすると ファイルは正常に開くので、ファイルが壊れてはいないようです。 この現象はフォルダ^に保管されている全てのエクセルファイルで発生。 PCを再起動しても直らない。 この現象はエクセルのみ。ワード、パワーポイント、PDFファイルは問題なし。 回復方法をご教示頂けますよう、お願い致します。

  • MSNでファイルを送るには

    OS:WinXP Pro 回線:DSL8M 業者:eAccess ルーター:住友電気工業TE4121C(eAccessからレンタル) MSNMessagerでファイルを送るにはどのポートを空ければよいのでしょうか? 送ろうとするとファイルの送信に失敗しましたとなってしまいます。 FTPやICQなどでは然るべきポートを空けたら送信がうまくいったのですが、 MSNだけはどのポートをあければよいのかがわかりません。 ご存知の方いらっしゃいましたらご教示願えますでしょうか?

  • Cドライブについて

    Cドライブについての質問です。私の使用しているパソコンのCドライブは18.6GBあるのですが現在600MBしかありません。ドライブ内には複数のファイルフォルダがあるのですが、そのうちの一つが10.3GB使用している状態です。ただ、そのファイルフォルダ内にも複数のファイルフォルダがあるのですが、全部合計しても11.4MBしか使用している様子がなく、10GBの使用用途が分からない状態です。なぜこのような現象が起こるのか教えていただけないでしょうか?

  • 添付ファイルの保存

    Outlook Express6を使用して添付ファイルを保存する際、 特定のフォルダにドラッグアンドドロップして保存しています。 毎回、同じファイル名の為、上書で保存しているのですが、時々、ファイル名と拡張子の間に(1)や(2)が挿入されファイル名が変わってしまう事があります。添付ファイル名が同じメールを複数開いた状態で行うとこの現象が確実に起こる様ですが、1件しか開いていない場合でも発生することがあります。常に同じファイル名で保存したいのですが分かる方いらっしゃいましたらぜひ教えてください。 OSはWinXp pro SP1です。

  • フォルダ内の変化を監視(FTPサーバのホームディレクトリ)

    I-O DATAのHDL-120Uの簡易FTP機能で「ftpuser」というフォルダがあります。 このフォルダの変化を監視するため、​http://www10.plala.or.jp/tukaeru/soft/index.html#folders​ を使って監視させようとしたのですが、この「ftpuser」フォルダは予め設定しておいたユーザー名とパスワードを入力しないと開くことが出来ません。 そのため、「フォルダ監視」で監視させてもエラーになってしまいます。 予め手動でログインさせておいてから監視させれば、問題なく機能します。 これを省略させるか、これに変わる方法が何かないか、よい知恵をご教示願えませんか?

  • フォルダ内の変化を監視(FTPサーバのホームディレクトリ)

    I-O DATAのHDL-120Uの簡易FTP機能で「ftpuser」というフォルダがあります。 このフォルダの変化を監視するため、http://www10.plala.or.jp/tukaeru/soft/index.html#folders を使って監視させようとしたのですが、この「ftpuser」フォルダは予め設定しておいたユーザー名とパスワードを入力しないと開くことが出来ません。 そのため、「フォルダ監視」で監視させてもエラーになってしまいます。 予め手動でログインさせておいてから監視させれば、問題なく機能します。 これを省略させるか、これに変わる方法が何かないか、よい知恵をご教示願えませんか?

  • ftpコマンドで複数のファイルを移動させたい

    Solaris からftpコマンドを使用してwindosサーバに接続し、複数のファイルを./bak/フォルダにまとめて移動させたいのです。 renameを使えば、1つのファイルでなら可能ですが、複数は無理のようです。 rename test01.txt ./bak/test01.txt→OK rename *.txt ./bak/*.txt    →NG なんとかftpで複数ファイルの移動は出来ないのでしょうか? 1つずつ移動させるしかないのでしょうか?対象ファイルがたくさんあるので、それは避けたいのですが…。 ご教示願えればと思います。

専門家に質問してみよう