Ich habe die folgende Serialisierungsmethode wie unten gezeigt. Das Problem ist, dass ich versuche, eine Klasse an sie zu übergeben, die eine Eigenschaft vom Typ Binär enthält. Die Serialisierung schlägt aufgrund dieses Eigenschaftstyps fehl. Gibt es einen Weg, eine Klasse mit einer Eigenschaft vom Typ Binär zu serialisieren?
private string Serialize(TEntity instance)
{
string retStr = "";
XmlSerializer xs = new XmlSerializer(typeof(TEntity));
System.IO.StringWriter writer = new System.IO.StringWriter();
xs.Serialize(writer, instance);
retStr = writer.ToString();
writer.Close();
return retStr;
}
Hier ist der Teil der Klasse, der die Binär-Eigenschaft repräsentiert.
///
/// Versionsnummer
///
[DataMember(Order = 5)]
public System.Data.Linq.Binary VersionNumber { get; set; }
0 Stimmen
"
Binary
" ist kein .NET-Datentyp. Wie ist es definiert? Bitte geben Sie auch die genaue Ausnahme an, die Sie erhalten. Fangen Sie die Ausnahme ab und geben Sie dann ex.ToString() aus.0 Stimmen
Können Sie uns einen Ausschnitt des Codes zeigen, in dem diese Eigenschaft definiert ist?
1 Stimmen
Sind Sie an einem Workaround interessiert oder wollen Sie einfach nur Ihren Weg gehen? Können Sie die Klasse ändern, mit der Sie Probleme beim Serialisieren haben? Wenn Ihnen die Eigenschaft wirklich egal ist, könnten Sie [XmlIgnore] ausprobieren?
0 Stimmen
@Vivek - Ich habe die Frage bearbeitet, um die Eigenschaftsdefinition anzuzeigen.
0 Stimmen
@John- Ich habe die Frage bearbeitet, um die Eigenschaftsdefinition anzuzeigen.
0 Stimmen
@Autolykos - Ich kann die Klasse ändern. Aber egal was ich tue, sie muss für WCF serialisierbar sein.
0 Stimmen
Müssen Sie den XML-Serializer verwenden? Warum nicht den Data-Contract-Serializer benutzen (der auch XML produziert)?