2011-07-08 16 views
0

私はendpoint.tvのMatt Sniders RoutingServiceビデオを見て、サービス仮想化についての彼のコメントは私には分かりました。私はすべてのサービスを発見サービスを使用して自分自身を発表するように変更しました。次のステップでサービスリポジトリを作成し、サービスが発表されるとルータサービス拡張がルーティングテーブルを変更します。WCF 4 RoutingService EndpointAddressMessageFilter契約ベースのルーティング

考えられるのは、どのサービスも単にルータに接続して、既知の契約に操作を呼び出すことができるということです。ルータは、ディスカバリサービスによってオンラインまたはオフラインでサービスがアナウンスされるたびに更新されるルーティングテーブルに基づいて、契約のアクションリクエストをどこにルーティングするかを認識します。

私はこれをどのように達成するのですか?私はWCFには新しく、RoutingServiceはもちろんのこと、私に同行してください!このような契約に基づいた操作(*はワイルドカードに*を付けて推測する)のようなフィルタテーブルを設定しますか?

<filters> 
    <filter name="RegisterEventFilter" filterType="Action" filterData="CalcLib.ICalcLib/*"/> 
    <filter name="RegisterAttendeeFilter" filterType="Action" filterData="OrderLib.IOrder/*"/> 
</filters> 

代わりにEndpointAddressMessageFilterを使用する必要がありますか?

事前にヘルプを評価してください。

クリス

答えて

0

私は発見サービスとRoutingServiceを使用して試していませんが、あなただけのターゲット・サービスにすべてのアクション(操作の呼び出し)をリダイレクトしたいならば、ポイントendpointNameのfilterTypeを移動するための方法です。また、私は、action filterTypeがfilterData属性でワイルドカードをサポートしているとは考えていません。ここにはMSDN article that shows how the various filter typesが設定されています。それは、ほとんどのfilterTypeオプションを例題で扱いますが、その情報は固いものです。

関連する問題