我可以通过以下代码使用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。有人可以在这里推销吗?
答案 0 :(得分:0)
对于使用SendLocal
,而不是使用Send
,如果使用命令,则需要使用Publish
。
使用Send
意味着您需要进行消息路由,因为这将确定消息的目的地。可以使用using code或其他类似external files的方式定义路由,这将使dev / ops将来在运行时更容易更改路由。
Send
方法的重载也接受目标端点,但是建议不要混淆问题并保持路由代码分开(因此不要在目标上使用重载)。更多信息here。