Отправить сообщение удаленному MSMQ с помощью Nservicebus - PullRequest
0 голосов
/ 19 февраля 2019

Я могу добавлять сообщения в локальный MSMQ, используя nservicebus, с кодом ниже

var endpointConfiguration = new EndpointConfiguration("Samples.Msmq.Simple");
    var transport = endpointConfiguration.UseTransport<MsmqTransport>();

    endpointConfiguration.SendFailedMessagesTo("error");
    endpointConfiguration.EnableInstallers();
    endpointConfiguration.UsePersistence<InMemoryPersistence>();

    var endpointInstance = await Endpoint.Start(endpointConfiguration)
        .ConfigureAwait(false);
    var myMessage = new MyMessage();
        await endpointInstance.SendLocal(myMessage)
            .ConfigureAwait(false);

Но я читал в некоторых местах, что я могу отправлять сообщения на удаленный MSMQ, см. Код ниже

FormatName:Direct=TCP:100.100.100.12\\private$\\remoteTxn

Но я не могу понять, как отправить в удаленный MSMQ по Nservicebus.Кто-нибудь может подать здесь?

1 Ответ

0 голосов
/ 20 февраля 2019

Вместо использования SendLocal вам необходимо либо использовать Send в случае команды, либо Publish в случае события.

Использование Send означает, что вам нужно настроить маршрутизацию сообщений вместо, поскольку это определяет, что является пунктом назначения сообщения.Маршрутизация может быть определена с использованием кода или других средств, таких как внешние файлы , что упрощает для dev / ops изменение маршрутов во время выполнения в будущем.

Перегрузкаметода Send также принимает конечную точку назначения, но рекомендуется не смешивать проблемы и не разделять код маршрутизации (следовательно, не использовать перегрузку с адресатом).Подробнее здесь .

...