NServiceBus-无法发送消息
我遵循了,当我尝试从客户端应用程序(NServiceBusDemo.Client)发送消息时,出现以下异常: 2013-05-27 12:27:50514[7]错误NServiceBusDemo.Client.SendOrder [(null)]-启动终结点时出现问题。 Common.Logging.ConfigurationException:目标队列 'server@jasper“找不到。您可能错误地配置了 这类mes的目的地 (NServiceBusDemo.Messages.Commands.PlaceOrder)中的 MessageEndpointMappin在您的数据库中的UnicastBusConfig节的gs 配置文件。也可能是给定的队列 尚未创建或已删除- -->NServiceBus.Unicast.Queuing.QueueNotFoundException:无法将消息发送到地址:[server@jasper] ---> System.Messaging.MessageQueueException:Queue不存在或 您没有足够的权限执行该操作 我已经很久没有使用NServiceBus了,但我确实记得必须添加消息端点映射(教程中没有提到),我已经完成了:NServiceBus-无法发送消息,nservicebus,Nservicebus,我遵循了,当我尝试从客户端应用程序(NServiceBusDemo.Client)发送消息时,出现以下异常: 2013-05-27 12:27:50514[7]错误NServiceBusDemo.Client.SendOrder [(null)]-启动终结点时出现问题。 Common.Logging.ConfigurationException:目标队列 'server@jasper“找不到。您可能错误地配置了 这类mes的目的地 (NServiceBusDemo.Messages.Comman
<UnicastBusConfig ForwardReceivedMessagesTo="audit">
<MessageEndpointMappings>
<add Messages="NServiceBusDemo.Messages" Endpoint="NServiceBusDemo.Server"/>
</MessageEndpointMappings>
</UnicastBusConfig>
在消息队列控制台中查看时,我创建了以下专用队列:
- nservicebusdemo.client
- nservicebusdemo.client.retries
- nservicebusdemo.server
- nservicebusdemo.server.retries
- nservicebusdemo.server.timeout
- nservicebusdemo.server.timeoutsdispatcher
public class SendOrder : IWantToRunAtStartup
{
public IBus Bus { get; set; }
public void Run()
{
string product;
while ((product = Console.ReadLine()) != "q")
{
Bus.Send(new PlaceOrder() { Product = product });
}
}
public void Stop()
{
}
}
问题是文章中的代码明确指定了端点名称“Server”(我已经更改了该名称)。正如@UdiDahan在twitter上指出的,这优先于MessageEndpointMappings,这也是本文中未提及这些映射的原因 我更新了客户端代码以不指定端点,因此使用app.config中的设置:
public class SendOrder : IWantToRunAtStartup
{
public IBus Bus { get; set; }
public void Run()
{
string product;
while ((product = Console.ReadLine()) != "q")
{
Bus.Send(new PlaceOrder() { Product = product });
}
}
public void Stop()
{
}
}
我有一个类似的问题(即相同的错误),但我的问题的解决方案与你的不同。我想在这里分享,以确保其他人不会有同样的问题
对我来说,问题的发生是因为控制台应用程序没有启动。我必须将启动项目设置为解决方案,配置为同时启动web应用程序和控制台应用程序。这样做之后,一切都开始工作了
我希望这能帮助别人。我也遇到过类似的问题(即相同的错误),但我的问题的解决方案与你的不同。我想在这里分享,以确保其他人不会有同样的问题
对我来说,问题的发生是因为控制台应用程序没有启动。我必须将启动项目设置为解决方案,配置为同时启动web应用程序和控制台应用程序。这样做之后,一切都开始工作了
我希望这对某人有所帮助。我很好奇,“jasper”是你电脑的名字吗?我很好奇,“jasper”是你电脑的名字吗?你应该把正确答案标记为。。。嗯,作为回答。人们更容易看到正确答案。我觉得你的答案一开始就像是一个后续问题:)@DennisvanderStelt你必须等2天才能把你自己的答案标记为答案。你应该把正确的答案标记为。。。嗯,作为回答。人们更容易看到正确答案。起初我以为你的答案像是一个后续问题:)@DennisvanderStelt你得等两天才能把自己的答案标记为答案。