2012-12-05 41 views
1

我在通過Azure服務總線進行通信的各種計算機上安裝了一系列軟件代理。每個代理可能既是發佈者又是訂閱者。Azure服務總線:忽略由我發送的郵件

Azure Service Bus中是否有任何內置機制讓發送者不從總線接收消息(例如某種'回聲消除')?

例如:如果A,B和C是代理商,我想實現的是由A發送一個消息被傳遞到B和C無環回A.

我想我可以通過過濾器,但我想知道是否有更簡單的內置在服務中。

回答

1

除了發行者名稱(對於所有代理人可能都是相同的),Service Bus無法知道發行者與訂閱者之間存在關聯(即:他們是同一個代理人)。

這就是爲什麼我認爲過濾器是實現你想要做的最簡單的方法。過濾器已經非常簡單/易於使用,不是嗎?

+0

是的,過濾器看起來很容易(我還沒有嘗試過使用它們)。但是這會迫使我爲每個代理商在過濾器中引入某種標識(例如名稱)。一些我到現在爲止不需要的東西。 –

+0

從你的問題我明白,每個代理可能是一個訂戶,所以你創建了3個訂閱每個具有特定的名稱。爲什麼不識別具有該名稱的代理商? –

+0

是的,這也可以起作用......它會將代碼與接收代碼一起發送,但我想我可以忍受這一點;)Grazie。 –