2011-05-31 19 views
10

Usando C# y .NET 3.5, ¿cómo puedo obtener una lista de todas las colas salientes en MSMQ? Me encontrado this article about it pero como se puede ver a continuación no tengo la entrada COM para Microsoft Message Queue 3.0 Object Library ...Enumerar todas las colas salientes en MSMQ, C#

I accidentally the Microsoft Message Queue 3.0 Object Library

Entonces, ¿cómo puedo obtener la inclusión actual en la cola de salida? Me imaginé que debe haber una manera ya que puedo verlos en Computer Management ...

Computer Management + MSMQ

¿Qué puedo hacer yo?

Respuesta

3

Dos buenos lugares para empezar, creo que sería éstos:

http://msdn.microsoft.com/en-us/library/ms703173%28v=vs.85%29.aspx

http://msdn.microsoft.com/en-us/library/ms711378%28v=vs.85%29.aspx

Voy a ver si puedo trabajar hasta cierto código.


Tal vez no, esos parecen viejos, sigue buscando.


Heres algunos WScriptl que les mostrará a usted, todavía en busca de código .Net:

Dim Locator 
Set Locator = CreateObject("WbemScripting.SWbemLocator") 
Dim objs 
Set Service = Locator.ConnectServer(".", "root\cimv2") 
Set objs = Service.ExecQuery("Select * From Win32_PerfRawData_MSMQ_MSMQQueue") 
For Each object In objs 
    WScript.Echo "Name: " & object.Name 
Next 

using System.Management; 
namespace TestMSMQStuff 
{ 
    class Program 
    { 

     static void Main(string[] args) 
     { 

      System.Management.SelectQuery q = new SelectQuery("Select * From Win32_PerfRawData_MSMQ_MSMQQueue"); 
      ManagementObjectSearcher s = new ManagementObjectSearcher(q); 
      foreach (var r in s.Get()) 
      { 
       Console.WriteLine(r.Properties["Name"].Value); 
      } 
     } 
    } 
} 

Parece que todas las colas de salida comienzan con "OS:"

Necesita referencias System.Management y System.Management.Instrumentation

+0

El problema que tuve con aquellos (al menos hasta donde pude ver) fue que tuve que agregar la referencia COM. Sin embargo, en mi Visual Studio 2008 no hay entrada para la 'Biblioteca de Objetos de Microsoft Message Queue 3.0 '. No estoy seguro de cómo corregir este estado o cómo solucionarlo. Pero sí, esos dos artículos hacen referencia a métodos similares que he enumerado en el [artículo vinculado] (http://www.codeproject.com/KB/IP/MSMQ.aspx) – Urda

+0

¿Hay alguna manera de interoperar con C#? Si hay cómo lo haría? – Urda

+0

Veo la actualización de su código, lo voy a probar y a informar! – Urda

Cuestiones relacionadas