This article介绍了如何通过使用svcutil.exe
(或sgen.exe
)为程序集预生成序列化代码来缩短WCF客户端应用程序的启动时间。但是,它仅提到使用XmlSerializer
提高序列化/反序列化的性能。
WCF的默认序列化程序是DataContractSerializer
,我的问题是:对于只与WCF服务通信的WCF客户端,生成 *。XmlSerializers.dll 程序集是否有任何优势?关于这个具体问题,我能找到的唯一信息来源是MSDN上的this thread。给出的答案可能表明生成XmlSerializers
仅影响XmlSerializer
的序列化,但并未明确说明。
答案 0 :(得分:0)
从Using the XmlSerializer class MSDN article开始,“安全注意事项”部分:
使用XmlSerializer时存在的另一个威胁与对系统临时文件夹的写访问有关。 XmlSerializer序列化引擎在此文件夹中创建并使用临时序列化程序集。
与DataContractSerializer
的合同中提到了这一点,因此在使用*.XmlSerializers.dll
时,生成DataContractSerializer
似乎没有任何价值。