あるプログラムから別のプログラムにメッセージを渡す方法
質問
同じマシン上の別のプログラムに整数を渡す必要がある.Net 3.0アプリケーションがあります。私はこれを行うためにWCFサービスを使用していましたが、ローカルボックスでサービスをホストしようとすると、ユーザー権利の問題に遭遇しました。この問題をどのように達成するかについての考えは大歓迎です。
ありがとう、
デイブ
解決
WCFは今でもここに行く方法です。
通常、同じマシン上のプロセス間通信では、名前付きパイプチャネルを使用します。これを使用していない場合は、実行してからホスティングのエラーを特定することをお勧めします。
両方のプログラムに処理中のメッセージループがあり、整数を送信している場合、P / Invokeレイヤーを介してSendMessageの呼び出しを使用することもできますが、それは、同等またはSendMessageが許可するものよりも小さい。大きなメッセージにはWCFのようなものが必要です。
他のヒント
.NET Remoting は方法ですプログラム間でメッセージを渡します。
どのようにホストしていましたか? httpを使用する非管理プログラムには、ポート(http.sys内)を使用する権限が必要であることに注意してください。これは、netsh(Vista)または(IIRC)httpcfg(XP)経由です。
たとえば、こちらをご覧ください。
WCF がその方法です。同じマシン通信で保護するには、 NetNamedPipeBinding を使用する必要があります。
WCFBindingsの詳細 https://msdn.microsoft.com /en-us/library/ms730879(v=vs.110).aspx
所属していません StackOverflow