Как десериализовать двоичные данные byte[] из IDistributedCache в ASP.NET Core?C#

Место общения программистов C#
Ответить
Anonymous
 Как десериализовать двоичные данные byte[] из IDistributedCache в ASP.NET Core?

Сообщение Anonymous »

Вот вопрос, основанный на вашем сценарии, который вы можете задать на StackOverflow:

Заголовок:
Как Могу ли я правильно десериализовать данные byte[] из IDistributedCache, которые приведут к двоичному формату?

Body:< /strong>
Я получаю byte[] из IDistributedCache в своем приложении ASP.NET Core, которое было сериализовано с помощью системы управления сеансами (

Код: Выделить всё

ISession.CommitAsync). Когда я пытаюсь десериализовать byte[]
, я получаю следующую ошибку:

Код: Выделить всё

{'0x02' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.}
Я попробовал преобразовать байт[] обратно в строку, используя:

Код: Выделить всё

var jsonString = System.Text.Encoding.UTF8.GetString(byteArray);
Но это дает мне странные и нечитаемые строки, предполагающие, что данные находятся в двоичном формате.
Вот что я знаю:
  • Данные были сериализованы с помощью ISession.CommitAsync.
  • Я пытаюсь десериализовать их в словарь.
  • Я не знаю точного формата сериализации.
Я' Я пробовал использовать UTF8.GetString и BinaryFormatter для десериализации, но ни один из них не работает должным образом.
У меня есть несколько вопросов:[/b]< /p>
  • Как правильно десериализовать byte[], хранящийся в IDistributedCache?
  • Могло бы данные сжимаются или сериализуются в определенном формате сеансами ASP.NET Core, и как мне с этим справиться?


Подробнее здесь: https://stackoverflow.com/questions/790 ... p-net-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»