0
我想從事件中心向服務總線中的多個主題發送一個事件。我正在使用以下代碼使用foreach將事件發送到多個主題以獲取主題名稱。 由於這是一個foreach循環,我得到了延遲。有沒有更好的方法來做到這一點。向服務總線中的多個主題發送一個事件
foreach (var topicname in GetTopics_ActiveList(payload).Result)
{
TopicClient Client = TopicClient.CreateFromConnectionString(connectionstring, topicname);
var payloadStream = new MemoryStream(Encoding.UTF8.GetBytes(payload));
//var msg = JsonConvert.SerializeObject(payloadStream);
//BrokeredMessage message = new BrokeredMessage(payloadStream, true);
BrokeredMessage message = new BrokeredMessage(payloadStream);
Client.Send(message);
}
1.我將無法緩存客戶端,因爲它的更改取決於我正在處理的事件。每個事件都會涉及一定數量的話題。 2.我可以在一個主題中有多個訂閱,但是當訂閱數量增加時,它最終會變慢。感謝您的快速響應。 –
我不確定#2。發送給主題的消息分發到訂閱是在代理上完成的。這聽起來很不錯,它比發送單個消息到所有主題要慢。 –
#2您可能是對的,而我們使用主題的另一個原因是因爲如果我們使用訂閱,那麼每個訂閱沒有任何連接字符串,最終我們需要共享每個聆聽者的連接字符串,如果他們知道任何他們將能夠聽到消息的主題中的其他訂閱名稱。 –