首页后端开发其他后端知识C#如何用MessasgePack,适合什么场景

C#如何用MessasgePack,适合什么场景

时间2024-03-24 06:08:03发布访客分类其他后端知识浏览1571
导读:在这篇文章中我们将学习“C#如何用MessasgePack,适合什么场景”的相关知识,下文有详细的介绍及实例,步骤过程清晰,简单易懂,小编觉得挺不错的,有需要的朋友可以借鉴参考,希望大家阅读完这篇能有所获。 MessageP...
在这篇文章中我们将学习“C#如何用MessasgePack,适合什么场景”的相关知识,下文有详细的介绍及实例,步骤过程清晰,简单易懂,小编觉得挺不错的,有需要的朋友可以借鉴参考,希望大家阅读完这篇能有所获。

MessagePack是一种高效二进制序列化格式。可以在多种语言中进行快速数据交换,比如JSON格式等。它比Json更加小巧,更加高效,可以用于一些结构化数据存储 ,非常适合适用于消息总线,MemoryCache等对序列化要求比较高的场合。

MessagePack基本上被大多数主流语言支持,因此用它来作为教程间交换的消息序列化也是一种不错的方式,本文这里简单的介绍一下如何在.Net 中使用MessagePack。

首先安装MessagePack和MessagePackAnalyzer的Nuget包:

Install-Package MessagePack
Install-Package MessagePackAnalyzer

其中MessagePackAnalyzer是可选的,但它可以帮助检查序列化标记的正确性,还是非常有用的。

如下就是一个简单的示例,非常简单,我就不多介绍了。

// mark MessagePackObjectAttribute
[MessagePackObject]
public class MyClass
{

    // Key is serialization index, it is important for versioning.
    [Key(0)]
    public int Age {
     get;
     set;
 }


    [Key(1)]
    public string FirstName {
     get;
     set;
 }


    [Key(2)]
    public string LastName {
     get;
     set;
 }


    // public members and does not serialize target, mark IgnoreMemberttribute
    [IgnoreMember]
    public string FullName {
 get {
     return FirstName + LastName;
 }
 }

}


class Program
{

    static void Main(string[] args)
    {

        var mc = new MyClass
        {

            Age = 99,
            FirstName = "hoge",
            LastName = "huga",
        }
    ;
    

        // call Serialize/Deserialize, that's all.
        var bytes = MessagePackSerializer.Serialize(mc);
    
        var mc2 = MessagePackSerializer.DeserializeMyClass>
    (bytes);
    

        // you can dump msgpack binary to human readable json.
        // In default, MeesagePack for C# reduce property name information.
        // [99,"hoge","huga"]
        var json = MessagePackSerializer.ToJson(bytes);
    
        Console.WriteLine(json);

    }

}
    



以上就是关于C#如何用MessasgePack,适合什么场景的介绍啦,需要的朋友可以参考上述内容,希望对大家有帮助,想要了解更多,欢迎关注网络,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C#如何用MessasgePack,适合什么场景
本文地址: https://pptw.com/jishu/651869.html
PHP可以执行系统命令吗,这些函数可以实现 MySQL中怎样创建高效索引,要注意什么?

游客 回复需填写必要信息