Mel*_*sus 7 c# xml serialization json.net
我用a XmlSerializer
来序列化/反序列化一些对象.问题在于性能.在进行性能分析时,使用XmlSerializer
make我们的应用程序启动时间要长2秒.我们缓存我们的XmlSerializer并重用它们.我们不能使用sgen.exe,因为我们正在创建XmlSerializer XmlAttributeOverrides
.
我尝试使用像Json.Net这样的序列化替代方案,起初它的工作很棒.问题是我们需要向后兼容,因此需要正确解析已生成的所有xml.此外,对象序列化输出必须是Xml.
总结一下:
Mar*_*ell 11
最终,它取决于您的模型的复杂性.XmlSerializer
我需要做很多思考,而且需要花费很长时间才能让我怀疑你的模型非常复杂.对于一个简单的模型,可以使用LINQ-to-XML手动实现反序列化(非常简单),或者甚至可能XmlReader
(如果你感觉非常勇敢 - 不容易100%正确).
但是,如果模型很复杂,这是一个问题,坦率地说,在引入微妙的错误方面会非常危险.
另一种选择是DataContractSerializer
处理xml,但不是很好XmlSerializer
,当然也没有对布局的控制.我强烈怀疑这DataContractSerializer
对你没有帮助.
我没有直接替换XmlSerializer
,如果sgen.exe不是一个选项我相信你基本上有选择:
XmlSerializer
自己,不知何故做得比他们好从长远来看,我会说"切换格式",并仅使用xml进行旧版导入.我碰巧知道一些非常快速的二进制协议,它们很容易替代; p
归档时间: |
|
查看次数: |
15958 次 |
最近记录: |