2017-08-01 20 views
0

私はwcfサービスをC++/cliに書いて、C#のWCFサービスを置き換えています。しかし、クライアントへの最小限の変更に必要なC#参照を使用しているクライアントを使用しようとすると、いくつかの呼び出しは行われず、呼び出されたときに関数の一部がサーバー側のパラメータにデータを持ちません。 バインディングタイプを変更して、他のバインディングで動作するかどうかを確認しようとしましたが、動作しません。C#wcfサービスをC++/CLIサービスに置き換えよう

私の質問はこれが実現可能かどうかです。なぜそうならない?

+0

私のコメントは話題になるかもしれませんが...あなたのC#サービスをC++/cliで置き換える実際の理由はありますか? – sam

+0

私たちはネイティブC++にいくつかのコードを持っているので、同じ契約とインターフェースを聞くためにC++/cliサーバに接続したいのです – pixelr

+0

ネイティブのC++を使ってC#から相互運用することをお勧めします。 – sam

答えて

0

また、既存のネイティブC++コードライブラリを使用するWCFサービスも作成しました。

私はそれがC#のやり方をするのが簡単だと分かりました。

私はC#またはC++/CLIで定義された機能的なインターフェースを持っています。

私はC#を使用してWCFインターフェイスを作成して作成します。 C#オブジェクトは、前述のインタフェースを公開するC++/CLIモジュール/アセンブリ内にオブジェクトを作成します。だから私のC#WCFサービスはC++/CLIアセンブリを直接呼び出します。

最後に、私のC++/CLIコードがネイティブライブラリを呼び出して使用します。

インターフェイスなしでも実行できますが、私の場合はもっと便利だとわかりました。

+0

私の場合、C#サービスのインターフェイスは既にそこにあり、C#クライアントはDLLの同じ契約を使ってC#サービスを使用していました。今、古いDLLを使用してクライアントを残したいと思っています。私は契約書とサーバーインターフェイスを持つC++/CLI DLLを作成しました。 WCFはIPCですが、これは正しく動作していないようです – pixelr

関連する問題