.NET XmlSerializer编译类型模式读取器/写入器

时间:2009-12-06 02:52:09

标签: c# .net security serialization xml-serialization

对于我的应用程序,我需要使用XML将数据序列化为文件,因此我在MSDN上阅读Introducing XML Serialization。我担心的一件事是在 XmlSerializer应用程序的安全注意事项部分下面写着:

  

XmlSerializer创建C#(。cs)   文件并将它们编译为.dll   由...命名的目录中的文件   TEMP环境变量;   这些DLL会发生序列化。

用户可能同时运行我的应用程序的多个实例。我担心的是,2个不同的实例将序列化为不同的XML文件,但是,应用程序实例2中的XmlSerializer类可能会覆盖应用程序实例1中XmlSerializer类生成的DLL。是一个问题,或者是用于这些DLL名称的临时/唯一文件名?

仅供参考:我需要使用XML而不是二进制序列化,因为我们需要手动编辑文件中的值。

由于

1 个答案:

答案 0 :(得分:3)

  

这应该是一个问题,还是用于这些DLL名称的临时/唯一文件名?

名称是唯一的,您无需担心

如果您的应用程序要广泛使用XML序列化,您可能希望使用Sgen.exe预生成序列化程序集。这样可以避免在运行时生成它的开销,并且修复程序集名称(YourAssembly.XmlSerializers.dll)