0

我将 Microsoft 消息队列服务与 NTServiceBus (Eventbroker) 结合使用。

该应用程序在安装了消息队列服务的客户电脑上运行。事件经纪人按预期工作,一切正常。但是每隔一段时间......一个月可能有 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.

如果它根本不起作用,这个错误对我来说是有意义的......但为什么它只是偶尔崩溃一次?

4

1 回答 1

1

当您超过 MSMQ 存储配额限制(所有队列的字节总和默认值为 1 GB)时,可能会发生此错误。检查您的消费者是否可以处理您发送的消息量。MSMQ 性能计数器是监控这一点的好工具(例如,MSMQ 服务 > 所有队列中的总字节数)。

如果您有大量消息使您达到配额,您可能需要增加配额。这是在计算机管理控制台 > 服务和应用程序 > 消息队列 > 属性中完成的。

于 2013-07-22T08:12:49.917 回答