2012-07-03 122 views
1

爲了準備我的70-513考試,我發現了以下問題:WCF路由器優先級過濾器

Windows通訊基礎(WCF)解決方案使用兩個服務 管理購物車。服務A處理消息,其中包含總計介於$ 0和$ 500之間的行 項。服務B處理消息 ,其中包含總額超過500美元的訂單項。所有消息都是 對業務邏輯同等重要。您需要使用WCF路由將傳入的 消息路由到相應的服務。你應該將哪兩個 消息過濾器添加到路由器中? (每個正確答案 提出解決方案的一部分。選擇兩項。)

  • A.與100的優先級的消息過濾器將轉發$ 0和$ 500之間總到服務A
  • B.一個消息消息過濾器,優先級爲0,將消息總數在0到500美元之間轉發到服務A
  • C.優先級爲0的消息過濾器,將所有消息轉發到服務B
  • D.消息過濾器優先級爲100,將所有消息轉發到服務B

答案是A和C.

如果A和C的答案,爲什麼不B和d也是正確的呢?這兩對是對稱的。

回答

3

它們不是對稱的。

甲& C:

  • 過濾器1 - > 0-500到ServiceA - > 100優先
  • 過濾器2 - >所有到ServiceB - > 0優先

乙& d

  • Filter1 - > 0-500到ServiceA - > 0 priority
  • 過濾器2 - >所有到ServiceB - > 100優先

當通過路由器的消息進行經由其存在對傳入消息類型的所有過濾器路由接收到的消息。

這意味着消息內容將針對多個過濾器進行評估,因此需要在出現衝突的過濾器時確定優先級。

原因A & C正確的是,當收到消息時有兩個過濾器可用於評估消息內容。例如,如果郵件的總訂單項數量爲300美元,則兩個過濾器都會根據內容評估真實情況,但在這種情況下,我們希望將此郵件路由到ServiceA,因此我們必須給予Filter1優先級。

這有幫助嗎?

+0

謝謝。因此,如果將B改爲:優先級爲0的消息過濾器,它將所有消息轉發到服務A;和D到:一個優先級爲100的消息過濾器,將超過$ 500的消息轉發給服務B. – cateyes

+0

是的,這是正確的 –