Serialisierung und Versionierung

Ich muss einige Daten in einen String serialisieren. Die Zeichenfolge wird dann in der Datenbank in einer speziellen Spalte SerializeData gespeichert.

Ich habe spezielle Klassen erstellt, die für die Serialisierung verwendet werden.

[Serializable]
public class SerializableContingentOrder
{
    public Guid SomeGuidData { get; set; }
    public decimal SomeDecimalData { get; set; }
    public MyEnumerationType1 EnumData1 { get; set; }
}

Serialisierung:

protected override string Serialize()
{
    SerializableContingentOrder sco = new SerializableContingentOrder(this);

    MemoryStream ms = new MemoryStream();
    SoapFormatter sf = new SoapFormatter();
    sf.Serialize(ms, sco);
    string data = Convert.ToBase64String(ms.ToArray());
    ms.Close();
    return data;
}

Deserialisierung:

protected override bool Deserialize(string data)
{
    MemoryStream ms = new MemoryStream(Convert.FromBase64String(data).ToArray());
    SoapFormatter sf = new SoapFormatter();

    SerializableContingentOrder sco = sf.Deserialize(ms) as SerializableContingentOrder;
    ms.Close();
    return true;
}

Jetzt möchte ich Unterstützung für die Versionierung haben. Was passiert, wenn ich @ ändeSerializableContingentOrder Klasse. Ich möchte in Zukunft neue Felder hinzufügen können.

Muss ich zur DataContract-Serialisierung wechseln? Bitte gib mir einen kurzen Ausschnitt?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage