2012-01-17 49 views
7

Estoy tratando de enviar un mensaje a una cola remota. Mi proceso no está fallando, ¿pero todavía no veo el mensaje en la cola remota? ¿Asumiría que fallaría si no pudiera procesar el mensaje?MSMQ Enviar mensaje a Remote Queue

Me di cuenta de que en mi máquina local la cola remota aparece en las colas de salida, pero tampoco veo los mensajes allí. Muy ignorante aquí y todos los ejemplos muestran que lo que estoy haciendo (o eso creo) es correcto.

Código (Simple para la prueba):

using (var transaction = new TransactionScope()) 
    { 
     using (var queue = new MessageQueue(@"FormatName:DIRECT=OS:mymachine\MyQueueQueue")) 
     { 
      XDocument xdoc = XDocument.Parse("<root/>"); 

       var message = new Message(xdoc.ToString()); 
       queue.Send(message, MessageQueueTransactionType.Single); 
     } 

     transaction.Complete(); 
    } 

    Console.Read(); 
} 

Lo que estoy haciendo mal? Extraño ... no hay errores, pero no veo el mensaje en ninguna parte. Escribir trabajos en mi cola local.

Respuesta

12

La cola que ve en su máquina local es cómo MSMQ transmite un mensaje de su máquina a la máquina remota. Así que no te preocupes por eso, siempre y cuando no haya mensajes en él. Si había mensajes en él que indicaran que la cola remota no estaba disponible por alguna razón.

Permisos posibles podría ser un problema. Verifique los permisos de envío en la cola remota. Si la llamada va de dominio cruzado, tendrá que agregar INICIO ANÓNIMO a sus permisos.

También intente habilitar el registro de eventos MSMQ (si está ejecutando el servidor 2008 o superior).

ACTUALIZACIÓN

Parece que está llamando a una dirección de cola pública. Deberías usar colas privadas. La dirección es la misma excepto por la directiva $ PRIVADO:

FormatName: DIRECTO = OS: mymachine \ Private $ \ MyQueueQueue

también: es el nombre de la cola myQueueQueue como su dirección de cola?

+0

Gracias @hugh ... echó un vistazo al registro de eventos ... no vi nada hasta el momento. Echaremos un vistazo a los permisos – scarpacci

+0

¡gracias fueron los permisos de envío/recepción en esa cola! Lo agradezco mucho – scarpacci

+0

Ha actualizado mi respuesta –