代码之家  ›  专栏  ›  技术社区  ›  user1034912

C#.NET序列化程序是原子的吗?

  •  -2
  • user1034912  · 技术社区  · 6 年前

    直截了当的问题。如果CPU在序列化过程中崩溃,文件是否会损坏?

        public bool TrySerializeToXML<T>(String FilePath, T t, XmlAttributeOverrides XmlAttributeOverrides = null)
        {
            lock (SerializationLock)
            {
                XmlSerializer Serializer = null;
                try
                {
                    if (XmlAttributeOverrides == null) Serializer = new XmlSerializer(t.GetType());
                    else Serializer = new XmlSerializer(t.GetType(), XmlAttributeOverrides);
                    using (TextWriter TextWriter = new StreamWriter(FilePath))
                    {
                        Serializer.Serialize(TextWriter, t);
                    }
                }
                catch
                {
                    return false;
                }
                return true;
            }
        }
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   TheGeneral    6 年前
    1. XmlSerializer 在溪流上工作

    2. 在本例中,该流是一个 FileStream

    3. 文件流

    阿尔索 原子的 原子的