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

C# 使用WCF和数据协定序列化程序时需要生成XmlSerializer程序集,c#,.net,wcf,serialization,C#,.net,Wcf,Serialization,描述如何通过使用svcutil.exe(或sgen.exe)为程序集预生成序列化代码来缩短WCF客户端应用程序的启动时间。但是,它只提到使用XmlSerializer提高序列化/反序列化的性能 WCF的默认序列化程序是DataContractSerializer,我的问题是:对于只与WCF服务对话的WCF客户端,生成*.xmlsializers.dll程序集有什么好处吗?关于这个具体问题,我能找到的唯一信息来源是MSDN。给出的答案可能表明生成XmlSerializer只会影响XmlSerial

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

WCF的默认序列化程序是DataContractSerializer,我的问题是:对于只与WCF服务对话的WCF客户端,生成*.xmlsializers.dll程序集有什么好处吗?关于这个具体问题,我能找到的唯一信息来源是MSDN。给出的答案可能表明生成
XmlSerializer
只会影响
XmlSerializer
的序列化,但没有明确说明。

来自“安全注意事项”一节:

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


这在与
DataContractSerializer
的合同中提到,因此在使用
DataContractSerializer
时生成
*.XmlSerializers.dll
似乎没有任何价值,尽管您可能是正确的,但是本文没有明确说明默认DataContractSerializer不使用序列化的assembly.True。最简单的假设是没有,这个假设得到了我所做的实验的支持。DataContractSerializer是否像XMLSerializer那样使用任何临时程序集进行序列化/反序列化,你读过关于这个的任何文章吗?