Click here to Skip to main content
15,867,985 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I new to this. I have never tried this before. I have this query

C#
string queryString = String.Format(@"SELECT * FROM Win32_PerfFormattedData_msmq_MSMQQueue");
            var query = new ObjectQuery(queryString);
            var searcher = new ManagementObjectSearcher(scope, query);
            IEnumerable<int> messageCountEnumerable =
                from ManagementObject queue in searcher.Get()
                select (int)(UInt64)queue.GetPropertyValue("MessagesInQueue");
            //IEnumerable<string> messageCountEnumerable =
            //  from ManagementObject queue in searcher.Get()
            //  select (string)queue.GetPropertyValue("Name");
            var x = messageCountEnumerable.First();

            return x;

how do I pass my queues here?

What I have tried:

this is my calling method :

C#
var mQuery = from x in q select new { qName = x.QueueName, msgCount = GetMessageCount(x, machineName, "", "") };
               //select new { qName = x.QueueName, msgCount = GetMessageCount(string.Format("\\private$\\{0}", x.QueueName), machineName, "", "") };

               Console.WriteLine("Queue Name and number of messages in Queues \n-----------------------------------------------------------\n");
               foreach (var item in mQuery)
               {
                   Console.WriteLine(string.Format("{0}\t[{1}]", item.qName, item.msgCount));
                   Console.WriteLine();
               }
Posted
Updated 6-May-16 20:28pm
v2

1 solution

just added query path and formatted it correctly :

C#
int pos1 = queuePath.IndexOf('\\');
          int pos2 = queuePath.LastIndexOf('\\');
          string qPath1 = queuePath.Insert((pos1 + 1), "\\");
          string qPath = qPath1.Insert((pos2 + 1), "\\");

          string queryString = String.Format("SELECT * FROM Win32_PerfFormattedData_msmq_MSMQQueue WHERE NAME ='{0}'", qPath);
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900