我正在编写一个“服务总线监视器”[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 的东西外,我没有看到任何标签,而且从我读过的内容来看,它们并不是平等的.. 至少现在还没有,所以希望我得到了标签正确。)