zoukankan      html  css  js  c++  java
  • DataContractSerializer序列化与反序列化遇到的奇怪问题

    private static void Serialize1(string filename, object obj)
            {
                var stream = new FileStream(filename, FileMode.OpenOrCreate);
                var serializer = new DataContractSerializer(typeof (PackageManifest));
                serializer.WriteObject(stream, obj);
                stream.Close();
            }

    当用以上方法,序列化一个对象后,用下面的反序列方法,发现有的文件居然不能反序列化,(PackageManifest 里面没有特殊对象,不然不会有的可以序列化,而有的不可以

     private PackageManifest Deserialize( string manifestFilePath)
            {
                try
                {
                    var serializer = new DataContractSerializer(typeof (PackageManifest ));
                    var stream = new FileStream(manifestFilePath, FileMode.Open, FileAccess .Read);
                    var manifestObject = serializer.ReadObject(stream) as PackageManifest;
                    stream.Close();
                    return manifestObject;
                }
                catch ( Exception ex)
                {
                    return null;
                }
            }

    然而,当我用格式化工具,将Serialize1序列化的对象格式化后,再来调用反序列化居然又可以了。 于是找到一个办法,Serialize的时候直接输出格式化的xml就没有问题了。


    private static void Serialize2(string filename, object obj)
            {
                var ds = new DataContractSerializer(typeof (PackageManifest ));
                var settings = new XmlWriterSettings { Indent = true };
                using ( var writer = XmlWriter.Create(filename, settings))
                {
                    ds.WriteObject(writer, obj);
                }
            }
  • 相关阅读:
    10个你可能不知道的JavaScript小技巧
    QuickFlow2.0 安装指南
    QuickFlow教程(5): RuleDriven活动,角色提供程序自定义,邮件模板
    QuickFlowDesigner教程(2)工作流表单快速自定义
    QuickFlowDesigner1.0(Build091025)发布
    QuickFlow2.0无代码工作流设计器QuickFlowDesigner1.0 beta publish
    QuickFlowDesigner教程(3)UI代码和工作流交互
    QuickFlow Aspx Form example deploy wizard
    多选用户字段的Caml查询问题
    QuickFlowDesigner教程(4)如何用代码控制活动操作人
  • 原文地址:https://www.cnblogs.com/jackhuclan/p/4024707.html
Copyright © 2011-2022 走看看