У меня реализация Rabbitmq (C# с Rabbitmq.client 7.1.12 Nuget), где мы отправляем короткий JSON в очередь. Но когда приемник иногда получает элемент очереди (приблизительно 1 на 5) массив байтов в сообщении просто недействителен, а не то, что было установлено в очереди. /> \ u0001 \ 0 \ u0001 \ 0 \ 0 \ 0 \ u001f \ 02 \ 0 \ n \ 0 \ 0 \ u0013mytestqueue_123 \ u0001 \ 0 \ 0 \ 0 < /p>
< /blockquote>
Но когда я проверю этот Queue intem с Rabbitm quired, я вижу jss. Так что это делает его еще более странным в моих глазах. < /P>
Код отправителя: < /p>
...
var msg = new TestClass { i = i, Foo = "1234567890abcdefghijk" };
var msgString = Serializer.Serialize(msg);
var msgBody = System.Text.Encoding.UTF8.GetBytes(msgString);
var msgProps = new BasicProperties
{
ContentType = "application/json; charset=utf-8",
CorrelationId = msgGuid.ToString(),
Headers = new Dictionary()
{
{ "MessageType", Encoder.Encode(msgTypeName) },
{ "MessageGuid", Encoder.Encode(msgGuid.ToString()) },
}
};
await channel.BasicPublishAsync(
string.Empty,
targetName,
mandatory: true,
msgProps,
msgBody);
< /code>
Код приемника: < /p>
private async Task MessageHandler(object sender, BasicDeliverEventArgs @event)
{
var json = Encoding.UTF8.GetString(@event.Body.Span);
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... re-invalid
Rabbitmq полученные байты недействительны ⇐ C#
Место общения программистов C#
1757584738
Anonymous
У меня реализация Rabbitmq (C# с Rabbitmq.client 7.1.12 Nuget), где мы отправляем короткий JSON в очередь. Но когда приемник иногда получает элемент очереди (приблизительно 1 на 5) массив байтов в сообщении просто недействителен, а не то, что было установлено в очереди. /> \ u0001 \ 0 \ u0001 \ 0 \ 0 \ 0 \ u001f \ 02 \ 0 \ n \ 0 \ 0 \ u0013mytestqueue_123 \ u0001 \ 0 \ 0 \ 0 < /p>
< /blockquote>
Но когда я проверю этот Queue intem с Rabbitm quired, я вижу jss. Так что это делает его еще более странным в моих глазах. < /P>
Код отправителя: < /p>
...
var msg = new TestClass { i = i, Foo = "1234567890abcdefghijk" };
var msgString = Serializer.Serialize(msg);
var msgBody = System.Text.Encoding.UTF8.GetBytes(msgString);
var msgProps = new BasicProperties
{
ContentType = "application/json; charset=utf-8",
CorrelationId = msgGuid.ToString(),
Headers = new Dictionary()
{
{ "MessageType", Encoder.Encode(msgTypeName) },
{ "MessageGuid", Encoder.Encode(msgGuid.ToString()) },
}
};
await channel.BasicPublishAsync(
string.Empty,
targetName,
mandatory: true,
msgProps,
msgBody);
< /code>
Код приемника: < /p>
private async Task MessageHandler(object sender, BasicDeliverEventArgs @event)
{
var json = Encoding.UTF8.GetString(@event.Body.Span);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79761748/rabbitmq-received-bytes-are-invalid[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия