在 NServiceBus 中,您可以创建一个 SendOnly 总线,这意味着它所要做的就是将消息发送到另一个服务。在我看来,这根本不需要发送服务的本地队列,但是我无法配置它。
var bus = Configure.With()
.DefiningCommandsAs(t => typeof(MyNamespace.Messaging.Markers.ICommand).IsAssignableFrom(t))
.DefaultBuilder()
.XmlSerializer()
.MsmqTransport()
.UnicastBus()
.SendOnly();
给出以下例外:
无法生成端点名称,请使用 Configure.DefineEndpointName(...) 指定您自己的约定
虽然我可以通过添加一个.DefineEndpointName
似乎很糟糕的形式来为这个服务创建一个队列来解决这个问题,因为它实际上永远不会被使用。
有没有办法避免需要为只发送总线创建本地队列,如果没有,为什么在这种模式下需要这个本地队列?