0

通信する「スマート」コンポーネントのライブラリを作成しています。マスター コントローラー プロセスを使用して、プロセスを作成したり、コミュニケーターを含むサービスを開始したりできます。作成されたエンティティには、マスターによってポート番号が割り当てられ、http を使用して XML メッセージを送信できます。私の問題は次のとおりです。マスター オブジェクトがクラッシュし、再起動されたとします。サービスとプロセスを反復して名前を一致させることはできますが、子プロセス/サービスに割り当てたポート番号を回復するにはどうすればよいですか?

プロセス ID とポート番号のペアのリストを、起動時に再ロードできる隠しファイルに書き込むことを検討しましたが、プロセス ID は必ずしも一意であるとは限らないため (プロセス自体の期間中のみ)、堅牢ではないようです。ポート番号を作成するために使用された引数配列を照会するだけでプロセスからポート番号を取得できますが、それはserviceでは機能しません。各子のポート番号をどこに隠して回復できるかについて何か考えはありますか?

4

2 に答える 2

0

サービスは引数を使用でき、プロセスを開始するために使用される引数を実行中のプロセスに照会できます (WMI を使用)。

于 2012-05-31T18:41:04.447 に答える