我有一個成功處理消息的訂閱者,然後訂閱者繼續成功發佈另一條消息,指出發生了某個事件,我的問題是發佈後我試圖返回向初始消息和系統的發送者發送消息失敗,並顯示以下消息NServiceBus - 發佈後回覆消息
沒有爲消息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()取得了成功,這會對你有用嗎? – 2011-01-06 15:18:48