1

私はWCFルーティングで遊んでいます。最初から問題なく動作します...しかし、パスできなかった問題があります。私の遊び場には、ルーティング サービスと、2 つの異なるコントラクトを実装する 4 つの他の WCF サービスがあります。私が言ったように、それは正常に動作します...しかし、クライアント側からシングルスレッドから両方のコントラクトにアクセスする場合、2つの異なる接続を作成する必要があります。コントラクトにアクセスするには ChannelFactory<> を使用します。独自のバインディング/チャネルを実装する方法を理解するために WCF チャネル スタックを調べようとしましたが、単一接続の目標を達成できませんでした。

両方のインターフェースの合計としてインターフェースを生成するオプションがありますが、このソリューションは、多くの (30 ~ 40) の独立したコントラクトの環境で機能するはずです。この単純な解決策を適用することを複雑にし、妨げているのは、「疎結合」規則に従って、これらの 30 ~ 40 の独立したコントラクトがすべて独立して存在するという事実です。

単一の WCF ルーティング サービスを介して多くのコントラクトをルーティングし、クライアント側からそれらにアクセスするために単一の接続 (スレッドごとの接続プール/接続プール) を使用できるように、チャネル スタックを構築する方法はありますか。?

敬具

レシェク

4

1 に答える 1

0

これを行う「ツールキット」の方法はありませんが、クライアントで 2 つのコントラクトを組み合わせて、アクションが保持されていることを確認し、ルーティング サービスでアクションごとに正しいダウンストリーム サービスにルーティングすることができます。

于 2012-05-31T07:40:23.470 に答える