使用Nservicebus将消息发送到远程MSMQ

时间:2019-02-19 13:50:51

标签: nservicebus msmq

我可以通过以下代码使用nservicebus向本地MSMQ添加消息

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

但是我不知道如何使用Nservicebus发送到远程MSMQ。有人可以在这里推销吗?

1 个答案:

答案 0 :(得分:0)

对于使用SendLocal,而不是使用Send,如果使用命令,则需要使用Publish

使用Send意味着您需要进行消息路由,因为这将确定消息的目的地。可以使用using code或其他类似external files的方式定义路由,这将使dev / ops将来在运行时更容易更改路由。

Send方法的重载也接受目标端点,但是建议不要混淆问题并保持路由代码分开(因此不要在目标上使用重载)。更多信息here