繁体   English   中英

在MassTransit响应请求中读取响应头

[英]Read headers of response in MassTransit Response-Request

我正在将MassTransit v.5 *与Rabbit MQ一起使用,并且正在执行正常的请求-响应,如http://masstransit-project.com/MassTransit/usage/request-response.html中所示

我在消费者这样的响应消息上设置标题

await context.RespondAsync<OrderStatusResult>(
        new 
        {
            OrderId = order.Id,
            Timestamp = order.Timestamp,
            StatusCode = order.StatusCode,
            StatusText = order.StatusText
        }
    , callback => callback.Headers.Set("key", "value"))

我看到此标头是通过在RabbitMQ中查看来设置的,但是在调用者端,我无法访问这些标头。

因此,如何在呼叫者端访问响应消息的标题?

谢谢!

使用新的请求客户端,而不是原始的客户端,您可以通过响应访问消息上下文。

var client = Bus.CreateRequestClient<GetOrderStatus>(ServiceAddress);

var request = new GetOrderStatus(...);
var response = await client.GetResponse<OrderStatusResult>(request);
// response is type Response<OrderStatusResult>

var headerValue = response.Headers.Get...("key")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM