Как я могу изменить формат имени очереди ответов MSMQ в NServiceBus? - PullRequest
1 голос
/ 27 января 2011

Я пытаюсь получить доступ к сервису NServiceBus на рабочем сервере с домашнего клиента через VPN-соединение. Сообщение доходит до службы ОК, но имя очереди ответов имеет формат

DIRECT = OS: MyHomePCName \ частного $ \ MyClientQueueName

Ответное сообщение находится в исходящей очереди сервера, предположительно, потому что оно не может разрешить MyHomePCName. Могу ли я изменить имя очереди ответов при отправке сообщения в следующем формате?

DIRECT = TCP: MyHomeIPAddress \ частного $ \ MyClientQueueName

Конечно, у меня все еще есть проблема с отправкой IP-адреса для VPN-подключения, но я сейчас только тестирую и не возражаю против жесткого кодирования этого в клиенте.

1 Ответ

1 голос
/ 27 января 2011

NSB должен правильно отформатировать его, если вы поставите «$ queueName @ $ homeIpAddress». Вот код, который он использует:

public static string GetFullPath(string value){

IPAddress ipAddress;
if (IPAddress.TryParse(GetMachineNameFromLogicalName(value), out ipAddress))
{
    return (PREFIX_TCP + GetFullPathWithoutPrefix(value));
}
return (PREFIX + GetFullPathWithoutPrefix(value));

}

...