在 EasyNetQ 中为 Request/Response 模式声明具有特定名称的响应队列
Declare response queue with specific name for Request/Response pattern in EasyNetQ
在 EasyNetQ 中使用 Request/Response 消息传递模式时,我需要在请求队列上发送消息之前声明一个私有响应队列(具有特定名称)?
我假设框架在后台声明了响应队列,但我怎样才能给这个响应队列一个特定的名称?
我在 https://github.com/EasyNetQ/EasyNetQ/wiki/Request-Response
的文档中没有看到任何关于此的信息
这是命名约定的默认实现:
https://github.com/EasyNetQ/EasyNetQ/blob/develop/Source/EasyNetQ/Conventions.cs
也许你可以尝试这样的事情:
bus.Advanced.Conventions.RpcReturnQueueNamingConvention = () => "MyReturnQueue";
在最新的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"));
在 EasyNetQ 中使用 Request/Response 消息传递模式时,我需要在请求队列上发送消息之前声明一个私有响应队列(具有特定名称)?
我假设框架在后台声明了响应队列,但我怎样才能给这个响应队列一个特定的名称?
我在 https://github.com/EasyNetQ/EasyNetQ/wiki/Request-Response
的文档中没有看到任何关于此的信息这是命名约定的默认实现: https://github.com/EasyNetQ/EasyNetQ/blob/develop/Source/EasyNetQ/Conventions.cs
也许你可以尝试这样的事情:
bus.Advanced.Conventions.RpcReturnQueueNamingConvention = () => "MyReturnQueue";
在最新的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"));