16

2 つの C# アプリケーションがあり、そのうちの 1 つが 2 つの整数をもう 1 つのアプリケーションに送信するようにします (これは数秒に 1 回しか呼び出されないため、高速である必要はありません)。

これを行う最も簡単な方法は何ですか? (最もエレガントである必要はありません。)

4

9 に答える 9

21

最も簡単で信頼性の高い方法は、ほぼ確実にIpcChannel(別名プロセス間通信チャネル)です。それがその目的です。数行のコードと構成で起動して実行できます。

于 2009-11-26T09:27:24.203 に答える
4

.NET Remoting を試すことができます。簡単な例を次に示します: CodeProject .NET Remoting

.NET 3.5 を使用している場合は、リモート処理が徐々に廃止されつつあるため、WCF を使用する必要があります。繰り返しますが、WCFには多くの例があります。

于 2009-11-26T10:17:51.237 に答える
2

私は、Windows サービス、コンソール アプリケーション、および Windows フォーム間で動作する迅速かつ簡単な IPC 用に、独自のオープン ソース ライブラリを作成しました。

これには、既存の IPC 実装に比べていくつかの利点があり、構成は必要ありません。

ここを参照してください。

于 2009-12-13T20:34:29.387 に答える
1

別の方法は、名前付きパイプを模倣することです。どこかでファイルを宣言し、そこから読み書きします。

または、プログラムが順番に実行される場合は、クリップボードを試すことができます...しかし、その解決策は地獄のように醜く、バグがあります(.NETが理由もなくクリップボードにアクセスできない場合があります)。

于 2009-11-26T09:23:41.997 に答える
1

完全を期すために、 と を使用することもできnet.pipeますWCF

于 2009-11-26T09:24:22.353 に答える
0

私は彼らにソケットを介して話させると思います。

1 つのプログラムlistenをソケットに配置し、もう 1 つのプログラムをconnect最初に配置します。2 つの整数を 1 行で数字の文字列として送信します。

唯一の問題は、ポート番号についてどのように同意する必要があるか、および相互に通信していることをどのように認識するかです。常にポート 12345 (たとえば) を使用するように決定することで、彼らはポート番号に同意することができます。

于 2009-11-26T09:19:11.597 に答える