【发布时间】:2011-01-06 05:18:29
【问题描述】:
我有一个订阅者成功处理了一条消息,然后订阅者继续成功发布另一条消息以说明某个事件已经发生,我的问题是我在发布后我尝试将消息返回给发送者初始消息,系统失败并显示以下消息
没有为消息 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 输入队列之外,我不应该指定一个队列来进行回复。
是否可以让订阅者发布消息然后响应消息的发送位置?
【问题讨论】:
-
你能发布你的单播部分吗?我已经成功使用了 Bus.Reply(),这对你有用吗?
标签: c# nservicebus