日期:2014-05-17  浏览次数:20398 次

求助关于xml序列化存储在磁盘上和存储在数据库中的区别
我正看一个dtcms系统 如下面的一段代码,将一个对象序列化写入文件,然后需要得到这个对象时从文件反序列化,我想问下,这中方法效率高还是怎么地,将一个对象实例化赋值后存储在数据库中不一样吗,然后用的时候再用datareader遍历也就是dr.read(),然后分别给对象.属性赋值,这样不也得到这个对象吗,可使这个系统得到配置文件用的序列化和反序列化,求各位高手相助

 public static void Save(object obj, string filename)
        {
            FileStream fs = null;
            // serialize it...
            try
            {
                fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
                XmlSerializer serializer = new XmlSerializer(obj.GetType());
                serializer.Serialize(fs, obj);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (fs != null)
                    fs.Close();
            }

        }

------解决方案--------------------
呵呵 貌似用xml比较直观点,而且他有个缓存依赖,毕竟是站点信息到处都要用到,xml缓存依赖比数据库缓存灵活点,这个看情况,如果是多组数据肯定是数据库灵活,如果是单组数据二者皆可