0

我在 Visual Studio 中启动应用程序后立即收到 SharedQueue 关闭错误。现在这个错误非常频繁。据我所知,我们没有对代码进行任何更改,并且此代码之前运行良好。

我在网上和 SO 上都看到过许多类似的错误帖子,但我没有发现任何帖子有帮助。当异常发生时,它不指向任何代码。请参阅以下错误以获取更多信息:

在此处输入图像描述

这是错误堆栈跟踪:

 at RabbitMQ.Util.SharedQueue.EnsureIsOpen()
   at RabbitMQ.Util.SharedQueue.Dequeue(Int32 millisecondsTimeout, Object& result)
   at MassTransit.Transports.RabbitMq.RabbitMqConsumer.Get(TimeSpan timeout) in d:\BuildAgent-02\work\19b3d91f8acfae7a\src\Transports\MassTransit.Transports.RabbitMq\RabbitMqConsumer.cs:line 94

我不确定它的相关性,但我也在附加队列状态:

在此处输入图像描述

4

1 回答 1

0

我猜想某些东西正在处理一个IEndpoint实例,该实例可能用于发送或接收消息,并且该处理正在关闭传输。这导致接收队列被关闭,而总线没有意识到这一点。

使用 MassTransit 时应该释放的唯一对象引用是IServiceBus服务退出时的实例。处理该对象会清理其他所有内容。

于 2015-06-05T18:40:14.247 回答