Я пишу службу «Монитор служебной шины» [Windows], чтобы мы могли следить за нашими темами/подписками и столкнулись с интересной проблемой. (И, конечно же, под «интересным» я подразумеваю «чертовски раздражающего».)
Для каждой из моих пар тема/подписка я создаю 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 (Ноль!)
Я не могу себе представить, что я мог сделать здесь неправильно; кажется довольно прямолинейным, но .. НУЛИ.
Мысли, идеи, ЛЮБАЯ помощь приветствуется!
(Это для служебной шины для Windows Server, но я не вижу никаких тегов для этого, кроме всех материалов Azure, и, судя по тому, что я прочитал, они НЕ созданы равными ... по крайней мере, пока, так что надеюсь, что я получил теги правильные)