3

'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 のものを除いて、これに対するタグは表示されません。私が読んだところによると、それらは同等に作成されていません..少なくともまだではありません。タグは右です。)

4

1 に答える 1

3

スコット、Windows Server の Service Bus 1.0 は、メッセージ カウントの詳細をサポートしていません。この機能はビットがロックダウンされた後に実装されたため、これらのプロパティは期待される値を返しません。Service Bus のサーバーとサービスの両方に対称 (単一) クライアント ライブラリがあるため、それらが使用可能であることを確認できますが、値は、サービスまたは最近リリースされた Service Bus 1.1 for Windows Server のプレビューを対象とする場合にのみ設定されます。これは WebPI からインストールできます。詳細については、http://msdn.microsoft.com/en-us/library/windowsazure/dn282144(v=azure.10).aspx を参照してください。

于 2013-07-03T18:50:36.390 に答える