爲了記錄目的,我希望獲得給定訂閱客戶端的Azure服務總線訂閱的消息數。唯一的examples我發現使用NamespaceManager
,但這似乎有點多餘,因爲我已經有一個SubscriptionClient
。有沒有辦法直接從客戶端到SubscriptionDescription
?從SubscriptionClient獲取消息數
FWIW,我試圖通過名字空間管理器使用的彎路,但我得到了它拋出一個401未經授權錯誤:
int GetMessageCount(SubscriptionClient client) {
NameSpaceManager nsm = new NamespaceManager(client.MessagingFactory.NamespaceEndpoints.First());
SubscriptionDescription desc = nsm.GetSubscription(client.TopicPath, client.Name); // <-- throws error
long numMsg = desc.MessageCount;
return numMsg;
}
我現在做類似的事情,請在我的評論中看到其他答案。 – ThS