私は現在、相互に通信する必要のある2つの.NETアプリに取り組んでいます。シンプルなWindowsメッセージングが選択されましたが、これは現時点ではうまく機能します。メッセージで送信されるデータは単純な文字列ですが、コマンド(列挙型)とデータ(文字列)のメンバー、および後で可能な他のメンバーを含むメッセージクラスを作成しました。
このようなメッセージクラスのインスタンスを送信すると、バイトにシリアル化されてから、base64文字列に変換されます。これは、WindowsのSendMessage()を使用して送信されます。反対側では、私は反対のことをします。最終的に、元のオブジェクトが復元され、他のアプリで利用できるようになります。
このメカニズムは機能しているように見えますが、これで安全かどうか疑問に思いました。確かに、いくらかのオーバーヘッドがあり、base64文字列は元の文字列ソリューションよりもはるかに長いです(ただし、コマンドとデータの部分を取得するには、この文字列を手動で解析する必要があります)SendMessageで送信できるメッセージの最大サイズはありますか?
また、このプロジェクトの.NET Remotingから離れて、SendMessageソリューションを使い続けたいと思います。
何か案は ?オーバーヘッドを制限するために、代わりにJSONを使用するのではないでしょうか。
ありがとう。
ピカ