我有一个成功处理邮件的订阅者,然后订阅者继续成功发布另一条消息以声明某个事件已经发生,我的问题是我在发布后尝试将消息返回给发件人初始消息和系统失败,并显示以下消息
没有为消息NServiceBus.Unicast.Transport.CompletionMessage指定目标。消息无法发送。检查配置文件中的UnicastBusConfig部分,并确保消息类型存在MessageEndpointMapping。
返回代码如下所示:
Bus.Publish(orderMessage);
Bus.Return((int)MySendBus.Core.ErrorCode.Ok);
,app.config如下:
<configuration>
<configSections>
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core"/>
</configSections>
<MsmqTransportConfig InputQueue="MyServerInputQueue" ErrorQueue="error" NumberOfWorkerThreads="1" MaxRetries="5"/>
</configuration>
我添加了一个单播部分,仍然会收到同样的错误。我的理解是NServicebus知道如何回复消息,我不应该为app.config中找到的MsmqTransportConfig输入队列指定一个回复队列。
是否可以让订阅者发布消息然后回复消息的发送位置?
答案 0 :(得分:7)