WCF路由器具有优先级过滤器

时间:2012-07-03 04:53:34

标签: wcf wcf-routing

为了准备我的70-513考试,我发现了以下问题:

  

Windows Communication Foundation(WCF)解决方案使用两种服务   管理购物车。服务A处理包含行的消息   总计在$ 0到$ 500之间的商品。服务B处理消息   包含总额超过500美元的订单项。所有消息都是   同样重视业务逻辑。你需要路由传入   使用WCF路由将消息发送到适当的服务。哪两个   消息过滤器应该添加到路由器? (每个正确的答案   提出部分解决方案。选择两个。)

     
      
  • 甲。优先级为100的邮件过滤器,它将总计介于0美元和500美元之间的邮件转发给服务A
  •   
  • B中。优先级为0的消息过滤器,它将总计介于0美元和500美元之间的消息转发给服务A
  •   
  • ℃。优先级为0的消息过滤器,将所有消息转发到服务B
  •   
  • d。优先级为100的邮件过滤器,将所有邮件转发到服务B
  •   

答案是A和C.

如果A和C是答案,为什么B和D也不正确呢?这两对是对称的。

1 个答案:

答案 0 :(得分:3)

它们不对称。

A& C:

  • Filter1 - > 0-500到ServiceA - > 100优先
  • Filter2 - >全部到ServiceB - > 0优先级

B& d

  • Filter1 - > 0-500到ServiceA - > 0优先级
  • Filter2 - >全部到ServiceB - > 100优先

当路由器收到消息时,消息将通过该传入消息类型的所有过滤器进行路由。

这意味着消息内容是针对多个过滤器进行评估的,因此需要在出现冲突的过滤器时建立优先级。

A& C正确的原因是,当收到消息时,有两个过滤器可用于评估消息内容。如果消息的总行项目= $ 300,例如,两个过滤器将针对内容评估为true,但在这种情况下,我们希望将此消息路由到ServiceA,因此我们必须优先考虑Filter1。

这有帮助吗?