Читайте заголовки ответа в MassTransit Response-Request - PullRequest
0 голосов
/ 12 декабря 2018

Я использую MassTransit v.5 * с Rabbit MQ, и я делаю обычный запрос-ответ, как в http://masstransit -project.com / MassTransit / использовании / 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, но на стороне вызывающего я не могу получить доступэти заголовки.

Итак, как я могу получить доступ к заголовкам для ответного сообщения на стороне вызывающего абонента?

Спасибо!

1 Ответ

0 голосов
/ 13 декабря 2018

Используйте новый клиент запроса, вместо исходного, и вы можете получить доступ к контексту сообщения с ответом.

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")
...