'Service Bus Monitor' [Windows] サービスを作成しているので、トピック/サブスクリプションを監視し、興味深い問題に遭遇しました。(そしてもちろん、「面白い」とは、「非常にイライラする」という意味です。)
トピックとサブスクリプションのペアごとに、MessageCount を取得できるように SubscriptionDescription を作成します。これはうまくいきます。
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 用の Service Bus 用ですが、すべての Azure のものを除いて、これに対するタグは表示されません。私が読んだところによると、それらは同等に作成されていません..少なくともまだではありません。タグは右です。)