在过程A中,我正在使用
Bus.CreateRequestClient<TRequest>
创建客户端然后使用
client.GetResponse<TResponse1, TResponse12>(request)
从流程B获得响应。
在流程B中,我使用consumeContext.RespondAsync(@event)
响应请求,并使用consumeContext.Publish(@event)
发布事件
我有一个进程C订阅了已发布的事件。
因此,我已启动并运行进程A,B和C,然后停止进程C。 我在进程A中发送了请求,进程C的队列收到了一条消息,但是几秒钟后,该消息从队列中消失了。
我已经检查了队列的配置,配置为耐用= true和autodelete = false。
如果我不停地开火,而忘记了(将消息发送到端点)而不是在A中进行请求/响应,而只在B中发布了事件,则消息将保留在C的队列中。
这是设计使然吗? 另外我还注意到,如果我通过丢火而在队列中收到一条消息,则所有消息都将留在队列中,无论它是使用请求/响应创建的。
答案 0 :(得分:1)