对于我的应用程序,我需要使用XML将数据序列化为文件,因此我在MSDN上阅读Introducing XML Serialization。我担心的一件事是在 XmlSerializer应用程序的安全注意事项部分下面写着:
XmlSerializer创建C#(。cs) 文件并将它们编译为.dll 由...命名的目录中的文件 TEMP环境变量; 这些DLL会发生序列化。
用户可能同时运行我的应用程序的多个实例。我担心的是,2个不同的实例将序列化为不同的XML文件,但是,应用程序实例2中的XmlSerializer
类可能会覆盖应用程序实例1中XmlSerializer
类生成的DLL。是一个问题,或者是用于这些DLL名称的临时/唯一文件名?
仅供参考:我需要使用XML而不是二进制序列化,因为我们需要手动编辑文件中的值。
由于
答案 0 :(得分:3)
这应该是一个问题,还是用于这些DLL名称的临时/唯一文件名?
名称是唯一的,您无需担心
如果您的应用程序要广泛使用XML序列化,您可能希望使用Sgen.exe预生成序列化程序集。这样可以避免在运行时生成它的开销,并且修复程序集名称(YourAssembly.XmlSerializers.dll)