OK 別のアプリによって作成されたファイルに基づいていくつかのコントラクトを生成するアプリケーションがあります。
作成中のファイルを監視するファイルウォッチャーを実装しbackgroundworker
、ファイル名に基づいてコントラクトを作成するプロセスを開始します。
私が抱えている問題は、バックグラウンドワーカープロセス中EnableRaisingEvents
にfalseに設定して、最初のコントラクトが実行されている間にアプリが別のコントラクトセットの処理を開始しないようにすることです(実行中にバックグラウンドワーカーの呼び出しを停止することでもあります)一度に 2 つのことを実行することはできません!)。
すべて正常に動作し、他のアプリがファイルを作成し、filewatcher がそれを取得して処理を開始します。問題は、処理が終了すると filewatcher が再度有効になることですが、EnableRaisingEvents
false のときに作成されたファイルは取得されないと思います。そのため、コントラクトを生成するための初期ファイルを作成するアプリケーションが、アプリの処理中に別のファイルを作成した場合、それはそのまま残されます。それは理にかなっていますか?そして、これを回避する最善の方法は何ですか?
最初のコントラクトの作成が完了したら、filewatcher が無効になっている間に作成された他のファイルをディレクトリで探し、ファイルウォッチャーがない場合は filewatcher を再度有効にするという別のプロセスを用意することを考えていましたが、疑問に思っていますこれを行う簡単な方法があれば?