【问题标题】:Send message to remote MSMQ using Nservicebus使用 Nservicebus 向远程 MSMQ 发送消息
【发布时间】:2019-02-20 06:13:01
【问题描述】:

我可以通过下面的代码使用 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。任何人都可以在这里投球吗?

【问题讨论】:

    标签: nservicebus msmq


    【解决方案1】:

    您需要在命令的情况下使用Send,或者在事件的情况下使用Publish,而不是使用SendLocal

    使用Send 意味着您需要有消息路由,因为它决定了消息的目的地。路由可以定义为using code,或者像external files 这样的其他方式,这使得开发/运维在未来可以更容易地在运行时更改路由。

    Send 方法的重载也接受目标端点,但建议不要混合关注点并将路由代码分开(因此不要将重载与目标一起使用)。更多信息here.

    【讨论】:

    • 感谢 Hadi 提供了我需要研究的方向。我有一个安装了 MSMQ 的 Windows 容器,并且一个端点正在该容器上运行,它将消息添加到安装在 Windows 容器上的 MSMQ。我需要将该消息发送到 HOST MSMQ,并且没有得到任何代码或帮助。你有任何代码可以做到这一点吗?谢谢
    • 我建议通过向特定 dot net 的支持发送电子邮件来联系我们的支持。您专注于 NSB 抽象与端点有关的太低级别(MSMQ/主机级别)。
    猜你喜欢
    • 2012-02-12
    • 2016-09-09
    • 1970-01-01
    • 2012-05-20
    • 2010-12-09
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多