2016-09-13 10 views
1

EDIT ファイルがロックされている(つまり、ロックされているかどうかを確認する必要はありません)。むしろ、私はそれがどれくらい長くロックされているか知りたい。例えば1時間、24時間などC#ファイルがロックされている時間を確認する

ファイルがC#でロックされている時間を調べることはできますか?

私は10分ごとに実行され、ディレクトリ間でいくつかのファイルを移動するアプリケーションを持っています。ファイルがユーザーによってロックされている場合は、明らかに移動できないため、アプリケーションはユーザーに警告電子メールを送信します。

メールを1回送信するだけです。アプリケーションは10分ごとに実行されるため、ユーザーがファイルを閉じないと10分ごとにメールが届きます。

私は、電子メールを送信するかどうかの指標としてファイルがオープンされている期間を使用することができたと考えました。

しかし、誰かがアイデアを持っていれば他の解決策も歓迎ですか?

+0

ファイルやデータベーステーブルにその情報を格納し、必要に応じてそこから取得する必要があると思います。 – Oscar

+0

[ファイルロックを確認する方法](http:// stackoverflow .com/questions/1304/how-to-check-for-file-lock) – Alex

+0

重複していません。私は、ファイルがロックされているかどうかをチェックしたくありません。私はすでにロックされていることを知っています。むしろ、私はそれがどれくらい長くロックされているかを知りたいのです。たとえば、1時間、24時間など。 – Cameron

答えて

2

ハンドルは、私が知っている限り、それらがいつ作成されたかに関する情報を持ちません。しかし、最後のスクリプトの実行中に、このファイルがロックされていたかどうか、またそのファイルについて誰が電子メールを受けたかに関する情報を保存するだけで済みます。ファイルが同じユーザーによってロックされている場合は、別の電子メールを送信しないでください。

+0

ありがとう。アプリケーションは10分後に終了し、メモリからそのような情報を削除します。しかし、私は情報をデータベースに保存することができました。 – Cameron

関連する問題