- - PR -
C#でのファイルのロック状態の取得方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-07-23 14:30
初めてお邪魔します。
C#で、別アプリで常時生成・コピーされているファイルに対し、 生成・コピーの完了を以ってそのファイルに対しての読込・削除を行いたいのですが、 生成・コピーが完了し、ロックがはずれた状態かを確認する方法はありませんでしょうか? 現在の作成している処理だと、生成途中にファイル操作を行ってしまい、望んだ結果が得られません。 |
|
投稿日時: 2008-07-23 15:49
さかもとと申します。
http://www.atmarkit.co.jp/fdotnet/dotnettips/284watchopen/watchopen.html こちらでしょうか。 _________________ ------------------------------------------ 拝啓、さかもとと申します♪ |
|
投稿日時: 2008-07-23 15:59
File 操作では常に失敗することを想定し、失敗した場合どうするか?を常に仕様に盛り込む必要があります。
代表的なのは一定期間待ち合わせ retry するとか。 詳しい状況がわかりませんが、読み込み後削除する前提なら最初から更新 lock を取得して file を読み取ることである程度緩和は可能ですね。 確実性を持たせるなら、Windows Vista 以降となってしまいますが TxF を利用するという方法も。 Windows の API はそもそも file 操作を伴う連携は不向きだったりするので、利用しないよう仕様をかためるのが一番なんですがね。 |
|
投稿日時: 2008-07-23 16:33
お二方回答ありがとうございます。
お蔭様でなんとかなりそうです。 TxFについては動作予定のOSが2000なので残念ですが出来そうには無いですが、 vistaに対応する機会があればやってみようかと。 |
1