非常に大規模なプロジェクトでプロセス間通信に使用できる最良かつ最も簡単な方法は何ですか?
私の要件は、通常のWindowsフォームアプリケーションとWindowsサービスの間で通信することです。
保守と実装が容易な方法が推奨されます。
ありがとう
タグから、.NET について話していることがわかります。おそらく、Microsoft WCF を試す必要があります。この問題を統合し、特定のプロセス間 (サービス間) 通信テクノロジを実際のコードから抽象化します。したがって、通常は、プロセスが相互に通信するために使用するインターフェイスを設計して記述し、XML 構成ファイルで特定の通信テクノロジを構成します。つまり、「プロセスが何について話しているか」と「このコミュニケーションが具体的にどのように実装されているか」を明確に区別しています。
WCF は、SOAP、TCP\IP 通信、MSMQ などをサポートします。IIS でホストされる Web サービス、通常の Windows サービス、コンソール アプリケーションなどを処理できます。これらはすべて、統合されたフレームワークの下にあります。私は、これはまさにあなたが探しているものだと思います。
必ずしも最良または最も簡単であるとは限りません....
.NET の世界では、MSMQ または IBM MQ メッセージ キュー ミドルウェアを試してください。
通信がほとんど一方通行である場合は、WCF サービスの使用を検討してください。これは、Visual Studio のコード ジェネレーターにほとんどの作業を任せれば、便利で簡単です。
多数のメソッドがあるため、実際にはプロジェクトに依存します。
これは、プロジェクトのさまざまな部分が実行される場所に依存する場合があります (それらは、異なるサーバー上で実行されるか、まったく異なるテクノロジ スタック上で実行される可能性があります)。
最も一般的な方法は、おそらく Web サービスです。これらにはオーバーヘッドが伴いますが、DLL を介した単純なインターフェイス API を検討する価値があるかもしれません。
何をするにしても、セキュリティとパフォーマンス、および将来どのように拡張または変更するかを考慮して、慎重に検討および設計する必要があります。