我正在使用Microsoft消息队列服务与NTServiceBus(Eventbroker)结合使用。
应用程序在安装了消息队列服务的客户端PC上运行。事件经纪人按照预期工作,一切正常。但是现在每个人......每月2-3次,软件崩溃时会出现以下异常:
NServiceBus.Unicast.UnicastBus|Failed to subscribe to
Appccelerate.DistributedEventBroker.NServiceBus.Messages.INServiceBusEventFired,
Appccelerate.DistributedEventBroker.NServiceBus, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=917bca444d1f2b4c at publisher queue frontkomm.net@kkl
NServiceBus.Unicast.Queuing.QueueNotFoundException: Failed to send message to address:
[frontkomm.net@kkl] ---> System.Messaging.MessageQueueException: The queue does
not exist or you do not have sufficient permissions to perform the operation.
如果它根本不起作用,这个错误对我来说是有意义的...但为什么它只是偶尔崩溃一次?
答案 0 :(得分:1)
当您超过MSMQ存储配额限制时,可能会发生此错误(对于所有队列的字节总和,默认值为1 GB)。检查您的消费者是否可以处理您发送的邮件数量。 MSMQ性能计数器是监控此功能的好工具(例如,MSMQ服务>所有队列中的总字节数)。
如果您有突发的消息使您达到配额,则可能需要增加配额。这在计算机管理控制台中完成>服务和应用>消息队列>属性。