アプリケーションが起動する場合は、最初にアプリのインスタンスがすでに存在するかどうかを確認し、存在する場合は、実行中のインスタンスにフォーカスを移して、新しく作成されたプロセスを終了します。これは、WCFを介して登録されている名前付きパイプを使用して作成します。これまでのところ問題なく動作します。
これで、私のアプリはターミナルサーバー環境でも使用されます。名前付きパイプがシステム全体であるため、他のユーザーのインスタンスに焦点を当てないようにスタートアップロジックを変更する必要がありますか(確かに機能しませんが、アプリケーションが壊れます)、またはターミナルサーバー(2003R2)がWCFバインディングを分離しますか?各TSセッション?
まだ生産的な環境にアクセスできないので、この質問を投稿します。多分誰かが私にこの質問への答えを与えることができますか?
アップデート
アプリの起動に関する別の投稿を通じて、Mutexを使用して単一のアプリケーションの起動を管理するより便利な方法があることを学びました。これは、システム全体またはターミナルセッションベースで使用できます。
しかし、質問はとにかく開かれており、おそらくWCFの知識が豊富な人が答えることができます。面白そうですね。