首页 > Windows开发 > 详细

C# Protobuf-Net 序列化

时间:2015-11-11 16:41:37      阅读:641      评论:0      收藏:0      [点我收藏+]

源码位置:protobuf-net

1、安装Nuget 

工具--拓展管理器

技术分享

技术分享

安装完成后重启Microsoft Visual Studio 2010,可以看到下图:

技术分享

小注:

只有该解决方案已经打开项目的时候,才会看到下面两项:

技术分享

2、安装protobuf_net(在Nuget中找到protobuf-net,安装,选择项目搞定)

技术分享

技术分享

3、封装简单操作类(在项目中引入using ProtoBuf;就可以直接用了)

/// <summary>
    /// Protobuf_net
    /// </summary>
    public class ProtobufSerializer
    {
        /// <summary>
        /// 序列化
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="t"></param>
        /// <returns></returns>
        public static string Serialize<T>(T t)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                Serializer.Serialize<T>(ms, t);
                return Encoding.UTF8.GetString(ms.ToArray());
            }
        }
        /// <summary>
        /// 反序列化
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="content"></param>
        /// <returns></returns>
        public static T DeSerialize<T>(string content)
        {
            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(content)))
            {
                T t = Serializer.Deserialize<T>(ms);
                return t;
            }
        }
    }
小注:

本文参考:

序列化悍将Protobuf-Net,入门动手实录
8 种提升 ASP.NET Web API 性能的方法

  相对于XML、二进制序列化方式,Protobuf效率较高,支持数据量较大
protobuf序列化后的大小是json的1/10,xml格式的1/20,是二进制序列化的1/10

版权声明:作者:jiankunking 出处:http://blog.csdn.net/jiankunking 本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

C# Protobuf-Net 序列化

原文:http://blog.csdn.net/jiankunking/article/details/49739303

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!