在EasyNetQ中为请求/响应模式声明具有特定名称的响应队列

时间:2017-09-06 10:23:51

标签: easynetq

在EasyNetQ中使用请求/响应消息模式时,我需要在请求队列上发送消息之前声明一个私有响应队列(具有特定名称)吗?

我假设框架在后台声明响应队列,但是如何为此响应队列指定特定名称?

我在https://github.com/EasyNetQ/EasyNetQ/wiki/Request-Response

的文档中没有看到相关信息

2 个答案:

答案 0 :(得分:1)

这是命名约定的默认实现: https://github.com/EasyNetQ/EasyNetQ/blob/develop/Source/EasyNetQ/Conventions.cs

所以也许你可以尝试这样的事情:

bus.Advanced.Conventions.RpcReturnQueueNamingConvention = () => "MyReturnQueue";

答案 1 :(得分:0)

在最新的 EasyNetQ 中,bus.Advanced.Conventions.RpcReturnQueueNamingConvention 是只读的,不能设置

也许你可以在使用RPC方法时设置队列名称

bus.Rpc.Respond<RequestMsg, RepsonseMsg>(request => {//...},x=>x.WithQueueName("your queue name"));

var msg = bus.Rpc.Request<RequestMsg, RepsonseMsg>(request, x => x.WithQueueName("your queue name"));