HelloRoutingService サンプルは、Windows Communication Foundation (WCF) ルーティング サービスを示しています。 ルーティング サービスは、アプリケーションにコンテンツ ベースのルーターを簡単に含める WCF コンポーネントです。 このサンプルでは、ルーティング サービスを使用して通信するように標準の WCF 電卓サンプルを調整します。 このサンプルでは、Calculator クライアントは、ルーターによって公開されているエンドポイントにメッセージを送信するように構成されています。 ルーティング サービスは、送信されたすべてのメッセージを受け入れ、電卓サービスに対応するエンドポイントに転送するように構成されています。 したがって、クライアントから送信されたメッセージはルーターによって受信され、実際の電卓サービスに再ルーティングされます。 電卓サービスからのメッセージがルーターに返送され、そのメッセージが電卓クライアントに返されます。
このサンプルを使用するには
Visual Studio を使用して、HelloRoutingService.slnを開きます。
F5 キーまたは Ctrl キー+Shift+B キーを押します。
注
F5 キーを押すと、電卓クライアントが自動的に起動します。 Ctrl+Shift+B (ビルド) キーを押した場合は、アプリケーションのフォローを自分で開始する必要があります。
- 電卓クライアント (./CalculatorClient/bin/client.exe
- Calculator サービス (./CalculatorService/bin/service.exe)
- ルーティング サービス (./RoutingService/bin/RoutingService.exe)
Enter キーを押してクライアントを起動します。
次の出力が表示されます。
Add(100,15.99) = 115.99 Subtract(145,76.54) = 68.46 Multiply(9,81.25) = 731.25 Divide(22,7) = 3.14285714285714
Code または App.Config を使用して構成可能
このサンプルは、App.config ファイルを使用してルーターの動作を定義するように構成されています。 また、App.config ファイルの名前を別のものに変更して、認識されないようにしたり、ConfigureRouterViaCode() へのメソッド呼び出しをコメント解除したりすることもできます。 どちらの方法でも、ルーターからの動作は同じになります。
シナリオ
このサンプルでは、基本的なメッセージ ポンプとして機能するルーターを示します。 ルーティング サービスは、構成済みの一連の宛先エンドポイントにメッセージを直接渡すように構成された透過的なプロキシ ノードとして機能します。
実際のシナリオ
Contoso は、サービスの名前付け、アドレス指定、構成、セキュリティの柔軟性を高めたいと考えています。 これを行うために、サービスの前に基本的なメッセージ ポンプを配置し、公開エンドポイントとして機能します。 これにより、実際のサービスの前にセキュリティを強化し、スケールアウトされたソリューションやサービスのバージョン管理を後日簡単に実装できるようになります。