5 wcf xml-serialization datacontractserializer
我正在升级一个宁静的服务,现在正在使用DataContractSerializer输出响应。以前的版本仅使用带有XmlSerializer的自定义序列化。因为该版本使用了很多属性,而DCS却没有,所以我看到使用gzip压缩后,新的响应大小是前一个版本的1.5倍。(或未压缩时大小的近三倍)。
那么我的问题是,DCS是否真的将是比XmlSerializer更快,更可扩展的解决方案。
谁说它会更快、更具可扩展性?我不记得这是 DCS 的主要优势之一。有人曾经说过,DCS 可以更快地串行化,但传输时间往往会使串行化时间相形见绌。串行速度提高 10% 并生成更大的有效负载,实际上可能会导致总体延迟增加 20%。
如果您不喜欢这个大小,可以尝试通过在DataMember 属性中使用较短的名称来缩小原始 XML 。不过,此方法也适用于 XmlSerializer,使用 XmlElement 属性。使用 DCS,由于元素与属性的大小经济性,在最小可能大小方面您将始终处于 XmlSerializer 的劣势。