Пиша услуга „Service Bus Monitor“ [Windows], за да можем да следим нашата тема/абонамент(и) и се натъкнахме на интересен проблем. (И разбира се под „интересен“ имам предвид „супер frick'en досаден.“)
За всяка моя двойка тема/абонамент създавам SubscriptionDescription, за да мога да получа MessageCount. Това работи добре.
var subscriptionDescription = namespaceManager.GetSubscription(
busTargetModel.Topic, busTargetModel.Subscription);
var messageCountThisSubscription = subscriptionDescription.MessageCount;
Въпреки това, в един конкретен случай messageCountThisSubscription == 51 и случайно знам, че всичките 51 всъщност се намират в кутията/опашката за мъртви пощи/каквото и да е, но когато се опитам да получа MessageCountDetails...
// I actually make this call BEFORE the MessageCount call above.
// (In case that matters somehow)
var messageCountDetails = subscriptionDescription.MessageCountDetails;
... всичките 5 негови свойства (ActiveMessageCount, DeadLetterMessageCount, ScheduledMessageCount, TransferDeadLetterMessageCount и TransferMessageCount) имат стойност 0 (нула!)
За живота си не мога да си представя какво мога да правя грешно тук; изглежда доста ясно, но все пак.. НУЛИ.
Мисли, прозрения, ВСЯКАКВА помощ се оценява!
(Това е за Service Bus за Windows Server, но не виждам никакви етикети за това, освен за всички неща на Azure и от това, което прочетох, те НЕ са създадени еднакви.. поне не още, така че се надявам, че имам етикетите правилни.)