- - PR -
FileSystemWatcherのCreatedイベントが2回発生する
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-08 22:06
ファイル監視プログラムを作成中なのですが、以下のケースの場合にCreatedイベントが
2回発生します。 1:Web上にファイルのリンクで、右クリックし、「対象をファイルに保存」を選択。 2:ファイルを監視しているディレクトリに保存。 以上の2つの手順を行うと、FileSystemWatcherのCreatedイベントが必ず2回起動します。 動きとしては Createdイベント発生 → Deletedイベント発生 → Createdイベント発生 という感じです。 対象をファイルに保存しているんですが、保存しているファイルに対してのDeletedイベントも 発生しているようです。 何か、こういった事象について経験のある方がいれば助言をいただければと思います。 (そういう経験があるとか、回避策等) よろしくお願いします。 | ||||
|
投稿日時: 2006-03-08 22:10
ちなみに1回目と2回目のCreatedイベントで取得できるファイル名は同じなのでしょうか?
| ||||
|
投稿日時: 2006-03-08 22:19
Created,Deleted,Created この3つのイベントそれぞれ同じファイルに対して 行っているようです。 | ||||
|
投稿日時: 2006-03-08 22:56
同名のファイルが既にあるのであれば、自然な動きだと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-03-08 23:07
監視フォルダには、「対象のファイルを保存」を選択する際には、ファイルは 何も存在していない状態です。 まったくない状態で、「a.txt」を保存しようとすると、「a.txt」に対して Created,Deleted,Createdのイベントが発生しているのです。 | ||||
|
投稿日時: 2006-03-09 01:16
FileOpen ダイアログが裏で「そういう動作」をしてるんじゃないのかな? だとすれば(だとしても)、避けようが無いんじゃないでしょうか。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
|
投稿日時: 2006-03-09 01:31
どうやら予約した (Create) ものを削除 (Delete) して、実ファイルを Create しているようですね。 ダウンロードしている限り、イベント自体は防ぎようがなさそうですが、 ダウンロードされたっぽいものかどうかは後判断で可能かもしれません。(確実ではないですが) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1