Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta sección se describe cómo especificar colas de Microsoft Message Queuing (también conocidas como MSMQ) al usar el adaptador de MSMQ. Describe las convenciones para especificar rutas de acceso y también describe el rol que desempeñan los nombres en la traducción de rutas de acceso a designaciones de cola.
Convenciones de nomenclatura de rutas de cola
Si el nombre de la cola hace referencia a una ruta de acceso, use las convenciones de nomenclatura de la tabla siguiente.
| Tipo de cola | Sintaxis para la ruta de acceso |
|---|---|
| Cola pública | NombreDeEquipo\QueueName |
| Cola privada | NombreDeEquipo\Private$\QueueName |
| Cola de diario | NombreDeEquipo\QueueName\Journal$ |
| Cola del diario de equipos Nota: Use solo para la cola de recepción. | NombreDeEquipo\Diario$ |
| Cola de mensajes fallidos del equipo Nota: Use solo para la cola de recepción. | NombreDeEquipo\Deadletter$ |
| Cola de mensajes fallidos de transacciones de equipo Nota: Use solo para la cola de recepción. | NombreDeEquipo\XactDeadletter$ |
Nota:
La ruta de acceso de la cola debe ser única.
Si el nombre de la cola hace referencia a un nombre de formato, toma la forma de una cadena que indica si una cola es pública o privada, seguida de un GUID generado para la cola y otros identificadores según sea necesario. Use las convenciones de nomenclatura de la tabla siguiente.
| Tipo de formato | Sintaxis para el nombre de formato |
|---|---|
| Público | FormatName:P ublic=QueueGUID |
| Directo |
FormatName:D IRECT=SPX:NetworkNumber:HostNumber\QueueName FormatName: DIRECT=TCP:IPAddress\QueueName FormatName: DIRECT=OS:ComputerName\QueueName |
Si la ruta de acceso de la cola de puerto de envío es una lista de distribución, la sintaxis de la ruta de acceso de cola es:
DL=DistributionListGUID
Si la ruta de acceso de la cola de envío o recepción es una dirección URL HTTP o HTTPS, la sintaxis es:
FormatName:DIRECT=http://<client name>/msmq/<queue name>
FormatName:DIRECT=https://<nombre> de cliente/msmq/<queue name>
Nota:
"msmq" es la carpeta virtual que Message Queuing crea en Internet Information Services (IIS).
Nota:
Solo puede usar HTTP para enviar mensajes. No puede leer mensajes en una cola en un equipo remoto si la cola se abre mediante un nombre de formato directo HTTP. Sin embargo, todavía puede recibir mensajes SOAP (con formato) de una cola remota mediante la ruta de acceso de cola privada o pública sin HTTP.
Si el nombre de la cola hace referencia a una etiqueta de texto descriptiva que el administrador especificó para la cola, la sintaxis de la ruta de acceso de la cola que hace referencia a esta etiqueta es:
LABEL:MyQueue
Nota:
Las etiquetas no siempre son únicas. Por lo tanto, recibirá un error si existe un conflicto de nombres al intentar conectarse a una cola específica mediante su etiqueta.
Nota:
La etiqueta es un campo de transporte necesario para el adaptador.
Rol del nombre de formato
Message Queuing usa el nombre de formato para identificar una cola y determinar cómo acceder a ella. Message Queuing asigna el nombre de formato a la cola.
Cuando se especifica una cola con la sintaxis de nombre de ruta de acceso, por ejemplo myMachine\myQueue, Message Queuing busca la ruta de acceso para buscar el nombre de formato asociado. A continuación, Message Queuing usa ese nombre de formato para acceder a la cola. Al especificar el nombre de formato, Message Queuing usa el nombre de formato que usa.
Para obtener más información sobre los nombres de formato, vea "Propiedad MessageQueue.FormatName" en la Ayuda de la biblioteca de clases de .NET Framework.
Solución de problemas de rutas de acceso de cola
Se produce una excepción si la sintaxis de la ruta de acceso de cola proporcionada no coincide con uno de los formatos descritos anteriormente en "Convenciones de nomenclatura de rutas de cola".
Los siguientes no son caracteres válidos para los nombres de equipo en la ruta de acceso de la cola:
\ ; , + "
Se produce una excepción si el nombre del equipo es un número. Por ejemplo: 234\private$\queue.
En el caso de una cola de mensajes fallidos del equipo, una cola de diario de equipos y una cola de mensajes fallidos de transacciones de equipo, se produce una excepción si el usuario especifica cualquiera de las colas del sistema como cola de destino para enviar.
System.Messaging.MessageQueue.Exists no funciona para las colas remotas. Para obtener más información, vea "MessageQueue.Exists Method" (Método MessageQueue.Exists) en la Ayuda de la biblioteca de clases de .NET Framework.