操作画面と通信処理の間で、環境変数を用いて通信処理の完了を操作画面に通知する仕組みを以下のように構築しています。
・通信処理では、開始時に環境変数へ「ON」を登録し、終了時に環境変数へ「OFF」を登録します。
・操作画面では、定期的に環境変数を取得し、「ON」ならば操作を抑止し、「OFF」ならば操作を許可します。
問題の動作は、通信処理側で通信終了時、環境変数へ「OFF」を登録する処理を通っているはずが、操作画面側で取得すると「ON」のままとなります。
(実際、問題が発生した時の環境変数をテキストファイルへ出力し、「ON」であることを確認しています)
質問ですが、環境変数への登録が、反映されないことがあるのでしょうか?
反映されない条件(?)があるのでしょうか?
環境変数の操作で使用しているメソッドは、Environment.SetEnvironmentVariable()とEnvironment.GetEnvironmentVariable()です。
環境変数の種類(target)には、EnvironmentVariableTarget.Processを指定しています。
OS:Windows 7 Pro
言語:C#
対象フレームワーク:.NET Framework 2.0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/08 12:58