-1
A
回答
0
最後,我得到了這個問題的答案。回答以下步驟。
- 在訂閱xml中傳遞SQL過濾器節點,同時在客戶端創建訂閱,如下所示。
@"<entry xmlns=""http://www.w3.org/2005/Atom"">
<title type=""text"">" + SubscriptionName + @"</title>
<content type=""application/xml"">
<SubscriptionDescription xmlns:i=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""http://schemas.microsoft.com/netservices/2010/10/servicebus/connect"" >
\t <DefaultRuleDescription>
<Filter i:type=""SqlFilter"">
<SqlExpression>" + "VenueId='" + venueId + "' or CustomerId='" + customerId + @"'</SqlExpression>
<CompatibilityLevel> 20 </CompatibilityLevel>
</Filter>
<Action i:type = ""EmptyRuleAction""/>
<Name>$Default</Name>
</DefaultRuleDescription>
</SubscriptionDescription>
</content>
</entry>";
- WebClient中添加報頭與在SQL過濾器中使用象下面
創建subscription.this訂閱將被創建並且有一些過濾器。
在客戶端檢索消息時,也會在webClinet中添加這兩個頭文件。這樣它會收到具有隻對CustomerID濾波器消息和VenueId
- 在發送消息的服務端也添加這兩個頭。所以它會將消息發送給具有這些名稱的過濾器的唯一訂閱。
webClient.Headers.Add("CustomerId", customerId);
webClient.Headers.Add("VenueId", venueId)
;
webClient.Headers.Add("CustomerId", customerId);
webClient.Headers.Add("VenueId", venueId)
;
webClient.Headers.Add("CustomerId", customerId);
webClient.Headers.Add("VenueId", venueId)
;
1
每個主題上的訂閱應該有自己的規則(訂閱),向主題發送消息的客戶端通常不想知道要發送到哪個訂閱。
如果您確實需要此,嘗試是這樣的:
Client -> Topic | Subscription 1 | *
| Subscription 2 | properties.customername = "A"
| Subscription 3 | properties.customername = "B"
| Subscription 4 | properties.special = "123"
要發送消息到只有一個訂閱,確保所有訂閱有一個唯一的訂閱。在上面的例子中,認購1收到的所有郵件,這樣這個改變的東西:
Client -> Topic | Subscription 1 | properties.customername EXISTS
| Subscription 2 | properties.customername = "A"
| Subscription 3 | properties.customername = "B"
| Subscription 4 | properties.special = "123"
更多信息: https://msdn.microsoft.com/library/azure/microsoft.servicebus.messaging.sqlfilter.sqlexpression.aspx
另一個解決辦法是創建一個單獨的話題來處理這個問題,並在此主題可以將所有其他請求轉發給您的常規主題。 (可以鏈接主題來創建此行爲) https://azure.microsoft.com/en-us/documentation/articles/service-bus-auto-forwarding/
相關問題
- 1. 使用mailchimp發送電子郵件到特定郵件
- 2. 如何發送電子郵件到特定的電子郵件?
- 3. 如何使用java將郵件發送到郵件列表?
- 4. 使用PHP發送郵件(將電子郵件發送到EMAIL INPUT的郵件)
- 5. Zencart訂閱郵件
- 6. 從Azure發送郵件
- 7. 如何發送訂單更新郵件?
- 8. 限制使用SSRS通過電子郵件發送訂閱
- 9. 如何發送訂閱框裏面的電子郵件?
- 10. 使用PHP郵件頭將郵件發送到多個地址
- 11. 的Magento /使用Zend_Mail()將郵件發送到垃圾郵件
- 12. Azure定期發送電子郵件
- 13. 如何將郵件發送到默認郵件賬戶?
- 14. 如何使用php的郵件發送郵件()反映在發件人郵箱的「已發送郵件」
- 15. 使用java郵件API發送郵件
- 16. 如何將未發送的郵件發送到特定的電子郵件地址
- 17. 在發送郵件時發送郵件時發送郵件
- 18. 如何在Android中使用默認郵件發送html郵件?
- 19. 如何閱讀特定郵件編號的郵件
- 20. 如何將Outlook中的電子郵件發送到特定文件夾
- 21. 如何使用SendGrid在Microsoft Azure中發送電子郵件
- 22. 如何使用PHP將xml文件發送到電子郵件?
- 23. 如何使用PHP將電子郵件發送到特定的電子郵件地址?
- 24. 如何跟蹤我的訂閱者發送的電子郵件是否轉到垃圾郵件文件夾?
- 25. 如何使用wp_mail郵件發送附件郵件
- 26. 如何使用quartz.net在特定日期發送電子郵件
- 27. 如何使用php在特定時間發送電子郵件?
- 28. 保存使用javax郵件發送郵件發送郵件文件夾
- 29. SSRS訂閱 - 通過電子郵件發送至可變電子郵件地址
- 30. PHP電子郵件訂閱表單 - 不發送郵件 - 已檢查php.ini設置?