HelloRoutingService 示例演示 Windows Communication Foundation (WCF) 路由服务。 路由服务是一个 WCF 组件,可以轻松地在应用程序中包括基于内容的路由器。 此示例调整标准 WCF 计算器示例,以使用路由服务进行通信。 在此示例中,计算器客户端配置为将消息发送到路由器公开的端点。 路由服务配置为接受发送到它的所有消息,并将其转发到与计算器服务对应的终结点。 因此,从客户端发送的消息由路由器接收,并重新路由到实际的计算器服务。 来自计算器服务的消息将发送回路由器,后者又将它们传回计算器客户端。
使用此示例
使用 Visual Studio 打开HelloRoutingService.sln。
按 F5 或 Ctrl+Shift+B。
注释
如果按 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
可通过 Code 或 App.Config 进行配置
示例船只配置为使用 App.config 文件来定义路由器的行为。 还可以将 App.config 文件的名称更改为其他名称,以使其不被系统识别,并取消对 ConfigureRouterViaCode() 方法调用的注释。 任一方法都会导致来自路由器的相同行为。
情景
此示例演示路由器如何充当基本消息泵。 路由服务充当配置为将消息直接传递到预配置的目标终结点集的透明代理节点。
真实场景
Contoso 希望提高其在服务的命名、寻址、配置和安全性方面具有的灵活性。 为此,他们将基本消息泵放在其服务的前面,作为面向公共的终结点。 这样,他们就可以将额外的安全性放在实际服务前面,并更轻松地在以后实现横向扩展的解决方案或服务版本控制。