ルーティング サービスを使用した Hello World
HelloRoutingService サンプルでは、Windows Communication Foundation (WCF) ルーティング サービスを示します。 ルーティング サービスは、コンテンツ ベースのルーターをアプリケーションに簡単に追加できるようにする WCF コンポーネントです。 このサンプルでは、標準の WCF 電卓のサンプルを改良し、ルーティング サービスを使用して通信するようにします。 このサンプルの電卓クライアントは、ルーターによって公開されるエンドポイントにメッセージを送信するように構成されています。 ルーティング サービスは、送信されてきたすべてのメッセージを受け入れ、電卓サービスに対応するエンドポイントに転送するように構成されています。 したがって、クライアントから送信されたメッセージはルーターで受信され、実際の電卓サービスに再ルーティングされます。 電卓サービスからのメッセージはルーターに送り返され、ルーターから電卓クライアントに渡されます。
このサンプルを使用するには
Visual Studio を使用して、HelloRoutingService.sln を開きます。
F5 キーを押すか、Ctrl キーと Shift キーを押しながら B キーを押します。
Note
F5 キーを押した場合は、電卓クライアントが自動的に起動します。 Ctrl キーと Shift キーを押しながら B (ビルド) キーを押した場合は、次のアプリケーションをご自分で開始する必要があります。
- 電卓クライアント (./CalculatorClient/bin/client.exe)
- 電卓サービス (./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
コードまたは App.Config で構成可能
サンプルは、提供された時点では、App.config ファイルを使用してルーターの動作を定義するように構成されています。 App.config ファイルの名前を別の名前に変更して認識されないようにし、ConfigureRouterViaCode() に対するメソッド呼び出しのコメントを解除することもできます。 どちらの方法でも、ルーターの動作は同じになります。
シナリオ
このサンプルでは、基本的なメッセージ ポンプとして機能するルーターを示します。 ルーティング サービスは、構成済みの一連の送信先エンドポイントに直接メッセージを渡すように構成された透過的なプロキシ ノードとして機能します。
実際のシナリオ
Contoso では、サービスの名前指定、アドレス指定、構成、およびセキュリティに関する柔軟性を高めるために、 基本的なメッセージ ポンプをサービスの前に配置して、それをエンドポイントとして公開しています。 これにより、実際のサービスの前にセキュリティが追加され、スケールアウトされたソリューションやサービスのバージョン管理を後で簡単に実装できるようになります。