使用WCF和数据协定序列化程序时需要生成XmlSerializers程序集

时间:2015-02-17 14:35:33

标签: c# .net wcf serialization

This article介绍了如何通过使用svcutil.exe(或sgen.exe)为程序集预生成序列化代码来缩短WCF客户端应用程序的启动时间。但是,它仅提到使用XmlSerializer提高序列化/反序列化的性能。

WCF的默认序列化程序是DataContractSerializer,我的问题是:对于只与WCF服务通信的WCF客户端,生成 *。XmlSerializers.dll 程序集是否有任何优势?关于这个具体问题,我能找到的唯一信息来源是MSDN上的this thread。给出的答案可能表明生成XmlSerializers仅影响XmlSerializer的序列化,但并未明确说明。

1 个答案:

答案 0 :(得分:0)

Using the XmlSerializer class MSDN article开始,“安全注意事项”部分:

  

使用XmlSerializer时存在的另一个威胁与对系统临时文件夹的写访问有关。 XmlSerializer序列化引擎在此文件夹中创建并使用临时序列化程序集。

DataContractSerializer的合同中提到了这一点,因此在使用*.XmlSerializers.dll时,生成DataContractSerializer似乎没有任何价值。