Dee*_*101 5 .net c# serialization messagepack
我阅读了msgpack-cli快速入门文档.
我还得到了C#(CLI)NuGet包(v0.3).
NuGet包(!!)中没有官方文档中提到的类(例如BoxingPacker
,CompiledPacker
或ObjectPacker
).我假设文档已经成为孤儿.
那么有没有人举例说明如何在C#中对MessagePack进行序列化/反序列化?我正在尝试为对象执行此操作,并且对序列化程序的二进制特性感兴趣.
对于未来的读者:基于这些结果,我会选择Avro或Protocol Buffers甚至是基于MessagePack的Thrift ......
为了具体问题,关键部分是:
public byte[] Serialize<T>(T thisObj)
{
var serializer = MessagePackSerializer.Create<T>();
using (var byteStream = new MemoryStream())
{
serializer.Pack(byteStream, thisObj);
return byteStream.ToArray();
}
}
public T Deserialize<T>(byte[] bytes)
{
var serializer = MessagePackSerializer.Create<T>();
using (var byteStream = new MemoryStream(bytes))
{
return serializer.Unpack(byteStream);
}
}
Run Code Online (Sandbox Code Playgroud)
整个研发类型的项目,结果在https://github.com/sidshetye/SerializersCompare,具体的函数调用在这里.