public void GetQMessageCount(TopicDescription TopicDesc, SubscriptionDescription SubscriptionDesc) { SubscriptionWrapper SW = new SubscriptionWrapper(SubscriptionDesc, TopicDesc); long lngCount = namespaceManager.GetSubscription(TopicDesc.Path, SubscriptionDesc.Name).MessageCount; string strlabelMessageCount = lngCount.ToString(); MessageCountDetails MsgCD = namespaceManager.GetSubscription(TopicDesc.Path, SubscriptionDesc.Name).MessageCountDetails; string strLockDuration = SW.SubscriptionDescription.LockDuration.ToString(); string strAvilableStatus = SW.SubscriptionDescription.AvailabilityStatus.ToString(); string strAccessedAt = SW.SubscriptionDescription.AccessedAt.ToString(); string strlabelTransferMessageCount = MsgCD.TransferMessageCount.ToString(); string strlabelActiveMessageCount = MsgCD.ActiveMessageCount.ToString(); string strlabelScheduledMessageCount = MsgCD.ScheduledMessageCount.ToString(); string strlabelDeadLetterMessageCount = MsgCD.DeadLetterMessageCount.ToString(); string strlabelMaxDeliveryCount = namespaceManager.GetSubscription(TopicDesc.Path, SubscriptionDesc.Name).MaxDeliveryCount.ToString(); String strStatus = namespaceManager.GetSubscription(TopicDesc.Path, SubscriptionDesc.Name).Status.ToString(); string strlabelStatus = strStatus; tc.TrackEvent("GetQMessageCount"); tc.TrackMetric("Topic: " + SW.TopicDescription.Path, lngCount); tc.TrackMetric(SW.SubscriptionDescription.Name, lngCount); //tc.TrackMetric(SW.SubscriptionDescription.Name + "Avilable Status: ", strAvilableStatus); tc.TrackMetric("TransferMessageCount", MsgCD.TransferMessageCount); tc.TrackMetric("ActiveMessageCount", MsgCD.ActiveMessageCount); tc.TrackMetric("ScheduledMessageCount", MsgCD.ScheduledMessageCount); tc.TrackMetric("DeadLetterMessageCount", MsgCD.DeadLetterMessageCount); lngIndex++; Console.WriteLine(lngIndex.ToString() + ".\n"); Console.WriteLine("Topic: " + SW.TopicDescription.Path); Console.WriteLine("Subscription: " + SW.SubscriptionDescription.Name); Console.WriteLine("Messages Count: " + lngCount); Console.WriteLine("Status: " + strStatus); Console.WriteLine("TransferMessageCount:" + MsgCD.TransferMessageCount); Console.WriteLine("ActiveMessageCount:" + MsgCD.ActiveMessageCount); Console.WriteLine("ScheduledMessageCount:" + MsgCD.ScheduledMessageCount); Console.WriteLine("DeadLetterMessageCount:" + MsgCD.DeadLetterMessageCount); Console.WriteLine("Lock Duration:" + strLockDuration); Console.WriteLine("Avilable Status:" + strAvilableStatus); Console.WriteLine("Accessed At:" + strAccessedAt); Console.WriteLine("\n"); GetMessages(true, true, (int)lngCount, SW); }
private void GetMessages(bool peek, bool all, int count, SubscriptionWrapper SW) { try { var brokeredMessages = new List <BrokeredMessage>(); if (peek) { var subscriptionClient = serviceBusHelper.MessagingFactory.CreateSubscriptionClient(SW.SubscriptionDescription.TopicPath, SW.SubscriptionDescription.Name, ReceiveMode.PeekLock); var totalRetrieved = 0; while (totalRetrieved < count) { var messageEnumerable = subscriptionClient.PeekBatch(count); if (messageEnumerable == null) { break; } var messageArray = messageEnumerable as BrokeredMessage[] ?? messageEnumerable.ToArray(); var partialList = new List <BrokeredMessage>(messageArray); brokeredMessages.AddRange(partialList); totalRetrieved += partialList.Count; if (partialList.Count == 0) { break; } else { for (int iIndex = 0; iIndex < partialList.Count; iIndex++) { BrokeredMessage bMsg = partialList[iIndex]; TotalMsgBrokerList.Add(bMsg); } } } } } catch (TimeoutException) { int x = 0; } }
private void GetMessages(bool peek, bool all, int count, SubscriptionWrapper SW) { try { var brokeredMessages = new List <BrokeredMessage>(); if (peek) { var subscriptionClient = serviceBusHelper.MessagingFactory.CreateSubscriptionClient(SW.SubscriptionDescription.TopicPath, SW.SubscriptionDescription.Name, ReceiveMode.PeekLock); var totalRetrieved = 0; while (totalRetrieved < count) { var messageEnumerable = subscriptionClient.PeekBatch(count); if (messageEnumerable == null) { break; } IBrokeredMessageInspector messageInspector = null; var messageArray = messageEnumerable as BrokeredMessage[] ?? messageEnumerable.ToArray(); var partialList = new List <BrokeredMessage>(messageArray); brokeredMessages.AddRange(partialList); totalRetrieved += partialList.Count; if (partialList.Count == 0) { break; } else { for (int iIndex = 0; iIndex < partialList.Count; iIndex++) { BrokeredMessage bMsg = partialList[iIndex]; int x = 0; } } } //writeToLog(string.Format(MessagesPeekedFromTheSubscription, brokeredMessages.Count, subscriptionWrapper.SubscriptionDescription.Name)); } else { MessageReceiver messageReceiver; if (SW.SubscriptionDescription.RequiresSession) { var subscriptionClient = serviceBusHelper.MessagingFactory.CreateSubscriptionClient(SW.SubscriptionDescription.TopicPath, SW.SubscriptionDescription.Name, ReceiveMode.ReceiveAndDelete); //messageReceiver = subscriptionClient.AcceptMessageSession(TimeSpan.FromSeconds(MainForm.SingletonMainForm.ReceiveTimeout)); } else { messageReceiver = serviceBusHelper.MessagingFactory.CreateMessageReceiver(SubscriptionClient.FormatSubscriptionPath( SW.SubscriptionDescription.TopicPath, SW.SubscriptionDescription.Name), ReceiveMode.ReceiveAndDelete); } //writeToLog(string.Format(MessagesReceivedFromTheSubscription, brokeredMessages.Count, subscriptionWrapper.SubscriptionDescription.Name)); } if (!peek) { /*if (OnRefresh != null) * { * OnRefresh(); * }*/ } } catch (TimeoutException) { /*writeToLog(string.Format(NoMessageReceivedFromTheSubscription, * MainForm.SingletonMainForm.ReceiveTimeout, * subscriptionWrapper.SubscriptionDescription.Name));*/ int x = 0; } }