1

私は単純なサーバー (パブリッシャー) とクライアント (サブスクライバー) アプリケーションを作成して、2 つのマネージ C# プロセス間のプロセス間通信を想定しています。

サブスクリプションとクライアント (サブスクライバー) に基づいてコンテンツをサブスクライバーに公開するサーバー (パブリッシャーとして機能する) を作成する必要があります。このためにapp.config、パブリッシャー側とサブスクライバー側の両方で 2 つの個別の構成ファイル ( ) を作成する必要があります。

それは問題を引き起こしています。パブリッシャーがデータをパブリッシュする場合、プロセス (サブスクライバーとして機能しているクライアント) をProcess.Startステートメントで開始します。app.config開始時に、クライアント プロセスは、独自の構成 (サブスクライバーの構成) が見つからなかったサーバー側で使用されているものを読み込むため、リモート処理を初期化できません。

サブスクライバーとパブリッシャーの両方の構成を 1 つのapp.configファイルに書き込む必要があります。

どうすればこれを行うことができますか?

4

1 に答える 1

0

パブリッシャーとサブスクライバーは同じ exe の下で実行されていますか? そうでない場合は、「app.config」ではなく、アプリケーション固有の構成ファイル (.config) を使用できます。

MSDN から:

実行可能ホストによってホストされるアプリケーションの構成ファイルは、アプリケーションと同じディレクトリにあります。構成ファイルの名前は、.config 拡張子が付いたアプリケーションの名前です。たとえば、myApp.exe というアプリケーションは、myApp.exe.config という構成ファイルに関連付けることができます。

ここに接続情報を入力し、Process.Start の StartInfo を指定して、アプリの起動元を指定してください。これにより、そのディレクトリ内の構成ファイルから読み取られるようになります。

于 2012-02-01T15:28:37.230 に答える