程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# Protobuf-Net 序列化

C# Protobuf-Net 序列化

編輯:C#入門知識

C# Protobuf-Net 序列化


源碼位置:protobuf-net

1、安裝Nuget :

工具--拓展管理器

/

/

安裝完成後重啟Microsoft Visual Studio 2010,可以看到下圖:

/

小注:

只有該解決方案已經打開項目的時候,才會看到下面兩項:

/

2、安裝protobuf_net(在Nuget中找到protobuf-net,安裝,選擇項目搞定)

/

/

3、封裝簡單操作類(在項目中引入using ProtoBuf;就可以直接用了)

 

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

 

本文參考:

序列化悍將Protobuf-Net,入門動手實錄
8 種提升 ASP.NET Web API 性能的方法

 

相對於XML、二進制序列化方式,Protobuf效率較高,支持數據量較大
protobuf序列化後的大小是json的1/10,xml格式的1/20,是二進制序列化的1/10

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved