Ich versuche, eine NameValueCollection über WCF zu serialisieren. Ich bekomme immer wieder Ausnahmen, die mir einen Typ nach dem anderen hinzufügen. Nach der Zugabe von ihnen, ich schließlichWCF-Serialisierungsproblem mit NameValueCollection
Typ ‚System.Object []‘ nicht zur Liste der bekannten Typen da eine andere Art ‚System.Collections.ArrayList‘ mit dem gleichen Datenvertragsnamen ‚http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfanyType‘ ist bereits hinzugefügt werden können Geschenk.
Der Vertrag sieht nun wie folgt aus:
[KnownType(typeof(NameValueCollection))]
[KnownType(typeof(CaseInsensitiveHashCodeProvider))]
[KnownType(typeof(CaseInsensitiveComparer))]
[KnownType(typeof(string[]))]
[KnownType(typeof(Object[]))]
[KnownType(typeof(ArrayList))]
[DataContract]
public class MyClassDataBase
{
[DataMember]
public NameValueCollection DataCollection = new NameValueCollection();
}
ich wirklich nicht wissen, was in der Lage sein zu tun, um meine NameValueColletion zu serialisiert.
Eine andere seltsame Sache ist, dass der Compiler warnt, dass der CaseInsensitiveHashCodeProvider veraltet ist.
NameValueCollection ist schwach typisiert? – ironsam
Ich habe den Begriff "schwacher Typ" verwendet, nicht "schwach typisiert". Damit meine ich, dass "NameValueCollection" in den Satz von Sammlertypen aufgenommen wird, der vor Generics eingeführt wurde. –
Wenn ich Wörterbücher in WCF verwende, de-serialisieren sie nicht sehr gut. Oder etwas ist ausgeschaltet, wenn ich es deserialisiere. – micahhoover