- PR -

FileSystemWatcherのCreatedイベントが2回発生する

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2004/06/03
投稿数: 30
投稿日時: 2006-03-08 22:06
ファイル監視プログラムを作成中なのですが、以下のケースの場合にCreatedイベントが
2回発生します。

1:Web上にファイルのリンクで、右クリックし、「対象をファイルに保存」を選択。
2:ファイルを監視しているディレクトリに保存。

以上の2つの手順を行うと、FileSystemWatcherのCreatedイベントが必ず2回起動します。

動きとしては

Createdイベント発生 → Deletedイベント発生 → Createdイベント発生

という感じです。

対象をファイルに保存しているんですが、保存しているファイルに対してのDeletedイベントも
発生しているようです。

何か、こういった事象について経験のある方がいれば助言をいただければと思います。
(そういう経験があるとか、回避策等)

よろしくお願いします。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-03-08 22:10
ちなみに1回目と2回目のCreatedイベントで取得できるファイル名は同じなのでしょうか?
未記入
常連さん
会議室デビュー日: 2004/06/03
投稿数: 30
投稿日時: 2006-03-08 22:19
引用:

burton999さんの書き込み (2006-03-08 22:10) より:
ちなみに1回目と2回目のCreatedイベントで取得できるファイル名は同じなのでしょうか?


Created,Deleted,Created この3つのイベントそれぞれ同じファイルに対して
行っているようです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-08 22:56
引用:

未記入さんの書き込み (2006-03-08 22:19) より:

Created,Deleted,Created この3つのイベントそれぞれ同じファイルに対して行っているようです。


同名のファイルが既にあるのであれば、自然な動きだと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
常連さん
会議室デビュー日: 2004/06/03
投稿数: 30
投稿日時: 2006-03-08 23:07
引用:

じゃんぬねっとさんの書き込み (2006-03-08 22:56) より:
同名のファイルが既にあるのであれば、自然な動きだと思います。



監視フォルダには、「対象のファイルを保存」を選択する際には、ファイルは
何も存在していない状態です。

まったくない状態で、「a.txt」を保存しようとすると、「a.txt」に対して
Created,Deleted,Createdのイベントが発生しているのです。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-03-09 01:16
引用:

ファイル監視プログラムを作成中なのですが、以下のケースの場合にCreatedイベントが
2回発生します。



FileOpen ダイアログが裏で「そういう動作」をしてるんじゃないのかな?

だとすれば(だとしても)、避けようが無いんじゃないでしょうか。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-09 01:31
引用:

未記入さんの書き込み (2006-03-08 23:07) より:

監視フォルダには、「対象のファイルを保存」を選択する際には、ファイルは
何も存在していない状態です。
まったくない状態で、「a.txt」を保存しようとすると、「a.txt」に対して
Created,Deleted,Createdのイベントが発生しているのです。


どうやら予約した (Create) ものを削除 (Delete) して、実ファイルを Create しているようですね。
ダウンロードしている限り、イベント自体は防ぎようがなさそうですが、
ダウンロードされたっぽいものかどうかは後判断で可能かもしれません。(確実ではないですが)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)