Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
回避しなければならない既存のプログラムがあります。それはかなりまともなプラグインアーキテクチャを提供しますが、私は問題に遭遇しました。プログラムがすでに実行されているかどうかを確認し、コマンドラインパラメーターを既存のインスタンスに渡すコマンドラインプラグインを作成する必要があります。
これはプラグインを使用して可能ですか?このような状況でのベストプラクティスは、メッセージングシステムを使用することでしょうか?
あなたが説明したシナリオでは、net.pipe プロトコルでホストされている WCF サービスを使用しました。基本的に、コマンドライン引数として提供される情報を受け取ることができるエンドポイントを定義するコントラクトがあります。
プロセスが開始されると、最初にこのサービスへの接続が試行されます。サービスが利用可能な場合、それは既存のプロセスがすでに稼働していることを意味します。その場合は、プロセスへのチャネルを開き、データを送信してから終了します。サービスが利用できない場合は、サービスを開始します。