【问题标题】:WCF 4 RoutingService EndpointAddressMessageFilter contract based routingWCF 4 RoutingService EndpointAddressMessageFilter 基于契约的路由
【发布时间】:2011-07-08 15:47:11
【问题描述】:

我在 endpoint.tv 上观看了 Matt Sniders RoutingService 视频,他对服务虚拟化的评论让我思考。我已将所有服务更改为使用发现服务来宣布自己,下一步我将创建一个服务存储库,以便在宣布服务时路由器服务扩展修改其路由表。

这个想法是任何服务都可以简单地连接到路由器,并调用已知合约的操作。路由器将根据每次发现服务在线或离线宣布服务时更新的路由表知道将合约的操作请求路由到哪里。

我的问题是如何实现这一目标。我是 WCF 的新手,更不用说 RoutingService,所以请多多包涵!我会设置一个过滤表,例如(使用 * 通配符基于该合同的任何操作 - 只是猜测)?

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

或者我需要改用 EndpointAddressMessageFilter 吗?

提前感谢帮助。

克里斯

【问题讨论】:

    标签: wcf soa


    【解决方案1】:

    我没有尝试将 RoutingService 与发现服务一起使用,但如果您只想将所有操作(操作调用)重定向到目标服务,那么 EndpointName filterType 是可行的方法。另外,我不相信 Action filterType 支持 filterData 属性中的通配符。这里是一个MSDN article that shows how the various filter types 的配置。其冗长而冗长,因为它通过示例涵盖了大多数 filterType 选项,但信息很可靠。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      相关资源
      最近更新 更多