Each message is sent to some address. The address determines, how the message is transferred to recipient messenger and to what queue it is dispatched once transferred.
    Message address has a form of

<Transport name>:<destination messenger name>|<queue name>


  • Transport name - the name of the transport as set by Transport.SetName method. If the transport doesn't have a name, it will respond to its default name (each transport has its own default name).
  • Destination messenger name - transport-specific name of the destination messenger. This name tells the transport how to connect to the remote messenger. Each transport has its own rules of how this name should look like.
  • Queue name - this is the name of the queue as it appears in Queue.QueueName property. Queue name should not be empty, otherwise delivery will fail. Even if there is only one queue associated with the messenger, it must have a name. Queue name can contain alphanumeric characters, dash ("-") and underscore ("_"). The queue name length is limited by 32 characters. The queue name should not include colon (":") and pipe("|").


  • ExternalSocketTransport:|ControlQueue
  • Local:SecondaryWindowQueue
  • HTTP:www.example.com/balance.dll:8080|Main
  • MMF:MyCoolMapping|Transfer