zoukankan      html  css  js  c++  java
  • [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    }


      其他的源代码都有解释了,应该能搞懂里面的东西!
  • 相关阅读:
    vue 富文本编译器 vue-quill-editor
    vue-拖拽的使用awe-dnd
    Dapper是什么?
    如何运用领域驱动设计
    面试官问我MySQL索引,我
    MySQL:你知道什么是覆盖索引吗?
    mysql覆盖索引与回表
    C#.NET 字符串转数组,数组转字符串
    MYSQL如何让主键使用BTREE索引
    MySQL大表优化方案 Mysql的row_format(fixed与dynamic)
  • 原文地址:https://www.cnblogs.com/xdotnet/p/Serializer.html
Copyright © 2011-2022 走看看