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    }


      其他的源代码都有解释了,应该能搞懂里面的东西!
  • 相关阅读:
    (OK) port_lighttpd_to_Android——没有基于android 4.4源码
    Linux添加头文件路径—INCLUDE_PATH
    (OK) 交叉编译hello.c for android (--sysroot),不使用Android.mk和ndk-build
    Building and running Node.js for Android
    编译node-v4.2.1,出现错误:undefined reference to getpwuid_r
    我为什么向后端工程师推荐Node.js
    (OK) 编译 pcre-8.37 静态库
    port_lighttpd_to_Android——基于android 4.4源码
    深受C/C++程序员欢迎的11款IDE
    推荐!国外程序员整理的 PHP 资源大全
  • 原文地址:https://www.cnblogs.com/xdotnet/p/Serializer.html
Copyright © 2011-2022 走看看