MessagePack c# десериализация возвращает значение null на клиенте - PullRequest
0 голосов
/ 27 мая 2020

У меня есть сервер python и клиент c#.

Я отправляю данные со своего сервера после того, как использовал

enter image description here

elem = msgpack.packb(data, use_bin_type=True)

Однако на стороне клиента десериализация равна нулю

Это класс:

namespace Elements{
[MessagePackObject(true)]
public class Element
{

    [Key(0)]
    public SortedDictionary<string, SortedDictionary<string, ushort[,]>> elements;

}

Я сгенерировал преобразователь и форматировщик, и после того, как я попытался выполнить десериализацию, как это

byte[] z - data retrieved from the server

var resolver = MessagePack.Resolvers.CompositeResolver.Create(
                    MessagePack.Resolvers.Elements.Instance // generated resolver
                    );
var options = MessagePackSerializerOptions.Standard.WithResolver(resolver);

var  ds = MessagePackSerializer.Deserialize<Element>(z,options);

ds был нулевым

PS: Я должен упомянуть, что десериализация с помощью JSON. NET работала, но слишком медленно, чтобы служить моей цели.

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