• [CommunityServer]Serializer序列化类


      好久没有写博客了,今天终于有点时间来继续写写东西,今天我们来看一下Serializer序列化类,在CommunityServer中这个实例的存储方法很值得我们学习,在加入属性是在数据库中就不需要添加字段名。能够实现这种功能的做法就是通过序列化和反序列化来完成这项功能,将属性序列化为XML格式的文本存储与数据库中的一个NText字段中。

      我们来看看这个类的代码,上面有我的注释,获取有些地方说得不正确,那也没办法啦!
    序列化
     
      在SiteSettings.cs中可以发现有些属性加有[XmlIgnore]标记,这是在序列化和反序列化时对该属性都不起作用,如SettingsID等在数据库中都已经存在字段名。从代码中我们可以看到,将一个NameValueCollection集合序列化和反序列化,其实键和值对存储在一个结构中,这个结构就是:
     1    public struct SerializerData
     2    {
     3        /// <summary>
     4        /// 序列化NameValueCollection集合时用于保存Keys的字符串。
     5        /// </summary>

     6        public string Keys;
     7        /// <summary>
     8        ///  序列化NameValueCollection集合时用于保存Values的字符串。
     9        /// </summary>

    10        public string Values;
    11    }


      其他的源代码都有解释了,应该能搞懂里面的东西!
  • 相关阅读:
    crt key转p12, jks p12互转,windows生成jks,
    使用c语言实现在linux下的openssl客户端和服务器端编程
    AES CFB/OFB/ECB/CBC/CTR优缺点
    SSL握手通信详解及linux下c/c++ SSL Socket代码举例
    SSL握手通信详解及linux下c/c++ SSL Socket代码举例(另附SSL双向认证客户端代码)
    对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
    Mosquitto服务器的搭建以及SSL/TLS安全通信配置
    openssl详解
    使用 openssl 生成证书
    字符编码的故事:ASCII,GB2312,Unicode,UTF-8,UTF-16
  • 原文地址:https://www.cnblogs.com/xdotnet/p/Serializer.html
Copyright © 2020-2023  润新知