14

Azure 대기열 (상점 계정)에서 메시지 수 (또는 대략적인 수)를 결정하는 방법이 있다는 것을 알고 있습니다. 그러나 Azure 서비스 버스 대기열에서 보류중인 메시지 수를 쿼리하는 방법이 있습니까?Azure 서비스 버스 대기열에있는 메시지 수 결정

+0

도 참조 http://stackoverflow.com/questions/18283583/azure-service-bus-queue-count (당신이 그것을 경우) 당신은 또한을 보려면 Visual Studio에서 서비스 버스 탐색기를 사용할 수 있습니다 – SteveC

답변

-2

또한 서비스 관리 대기열의 대시 보드에서 Azure Management Portal의 보류중인 메시지를 확인할 수 있습니다. 빠른보기 ... 대기열 길이를 볼 수 있습니다. 이것은 번호입니다. 대시 보드 페이지가로드 될 때 현재/보류중인 메시지의 길이입니다.

+2

네임 스페이스에 대한 각 엔티티의 속성 – TheDude

21
var nsmgr = Microsoft.ServiceBus.NamespaceManager.CreateFromConnectionString(connectionString); 
long count = nsmgr.GetQueue(queueName).MessageCount; 
8

MessagesCountDetails.ActiveMessageCount라고합니다. 큐에 활성 메시지 인 의 수를 반환합니다. 당신은 아마도 죽은 문자 메시지를 가지고있을 것입니다 :

var msg = Microsoft.ServiceBus.NamespaceManager.CreateFromConnectionString(Settings.Default.ConnectionString); 
numofmessages.Text = msg.GetQueue(QueueName).MessageCountDetails.ActiveMessageCount.ToString(); 
+0

그 자식 개체 (MessageCountDetails)가 모든 아이템을 숨기고있었습니다! Microsoft.ServiceBus.Messaging.QueueDescription qd = nsm.GetQueue (qName); int x = 0; x = qd.MessageCountDetails.ActiveMessageCount; x = qd.MessageCountDetails.DeadLetterMessageCount; x = qd.MessageCountDetails.ScheduledMessageCount; x = qd.MessageCountDetails.TransferDeadLetterMessageCount; x = qd.MessageCountDetails.TransferMessageCount; – granadaCoder

0

데드 레터 큐에서 카운트를 얻으려는 것과 같은 문제가 발생했습니다. deadletterqueue가 직접 카운트를 얻을 수없는 것처럼 보입니다. 일반적인 큐의 MessageCountDetails에서 가져옵니다.

string connectionString = ConfigurationManager.AppSettings["Microsoft.ServiceBus.Connstr"].ToString(); 
NamespaceManager nsmgr = Microsoft.ServiceBus.NamespaceManager.CreateFromConnectionString(connectionString); 
return nsmgr.GetQueue(QueueName).MessageCountDetails.DeadLetterMessageCount;