我在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
我不确定它的relvant,但我也附上了队列状态:
答案 0 :(得分:0)
我猜想有些事情正在处理一个IEndpoint
实例,它可能用于发送或接收消息,而且处理正在关闭传输。这导致接收队列被关闭,而总线没有意识到它。
使用MassTransit时应该处理的唯一对象引用是服务退出时的IServiceBus
实例。处置该物体会清除其他一切。