2012-03-03 9 views
1

リモートコンピュータで実行されているRPCインターフェイスを持つネイティブC++ server.exeにアクセスして、C#クライアントを実装する必要があります。リモートネイティブC++サーバーにC#クライアントRPCを書き込む方法はありますか。

この方法をお勧めしますか?

私の考えは以下のとおりです。

  1. は、クライアント側でのC++のdllを書くCOMを通じて、その後、C#のアクセスCOMインターフェイスをそのインターフェースを露出し、サーバー使用してRPCとの通信(I'vは、周りのすべての方法を体験します。 )
  2. は、C#のアクセス直接C++ CLRでのインターフェイスをラップ、RPCを使用してサーバと通信し、クライアント側でのC++のdllを書く。(C++ CLRラッパーに精通していない)

がするが、より直接的な方法ですこれを行う?私はRemotingのような他のいくつかの用語をgoogledし、それは後継WCF、次にDCOM、彼らは私が利用できるものですか?

私は怠惰なプログラマーなので、私の判断基準は単純です。 WCFがRemotingの新しい代替品であれば、できるだけ新しい技術が好まれます。つまり、Remotingの代わりにWCFを使用するということです。

+0

WCFはRemotingの代わりに6年間使用されています。 –

答えて

1

おそらく最も単純なオプションは、RPCを使用してサーバと通信するC++ DLLをクライアント側に書くことであり、pinvokeを通じてDLLにC#呼び出し関数を持つことでしょう。ここでの主なタスクは、管理対象とネイティブの間で関数パラメータのマーシャリングを設定することです。そのタスクの複雑さは、インターフェイスの複雑さによって異なります。

+0

お返事ありがとうございます。私はC#RPCサーバーにアクセスするための直接的な方法があるかもしれないと思っていましたが、現在はありません。 –

関連する問題