Как отправить / получить данные в заголовке сообщения ServiceBus - PullRequest
0 голосов
/ 02 июня 2018

Я использую функции Azure для отправки и получения сообщений из служебной шины.Я хочу отправить и получить correlationId в заголовке сообщения служебной шины для отслеживания жизненного цикла сообщения.

Я отправляю первую полезную нагрузку JSON из ServiceBusExplore и получаю текст Если используется строка, заданная в BrokeredMessage

Код получателя

public static async Task RunAsync([ServiceBusTrigger("validate-trade", AccessRights.Manage,
        Connection = "ServiceBusConnection")]BrokeredMessage message,
        TraceWriter log)
    {
        string queueData = message.GetBody<string>();
}

, получаемый нижеошибка

'message.GetBody ()' вызвала исключение типа 'System.Runtime.Serialization.SerializationException' string {System.Runtime.Serialization.SerializationException}

Я тоже это пробовал

string s = receiveMessage.GetBody (new DataContractSerializer (typeof (string)))

1 Ответ

0 голосов
/ 02 июня 2018

Это должен быть самый безопасный способ прочитать содержимое любого сообщения служебной шины как чистую строку:

string body;
using (var stream = message.GetBody<Stream>())
using (var streamReader = new StreamReader(stream, Encoding.UTF8))
{
    body = streamReader.ReadToEnd();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...