WCFでNameValueCollectionをシリアル化しようとしています。あるタイプを別のタイプに追加するように指示する例外が発生し続ける。それらを追加した後、私は最終的にすでにあるNameValueCollectionを使用したWCFシリアル化の問題
タイプ「System.Objectの[]は」同じデータコントラクト名「http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfanyType」は別のタイプ「System.Collections.ArrayList」は知られているタイプのリストに追加することはできませんを取得しますプレゼント。
契約は次のようになります。
[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();
}
私は本当に私のNameValueColletionをシリアル化できるようにするには何をすべきかを知りません。
もう一つの奇妙なことに、コンパイラーは、CaseInsensitiveHashCodeProviderが廃止予定であることを警告しています。
NameValueCollectionは弱く型付けされていますか? – ironsam
私は弱いタイプではなく弱いタイプという言葉を使いました。これにより、ジェネリックの前に導入されたコレクション型のセットに 'NameValueCollection'を含めることを意味します。 –
WCFで辞書を使用すると、デシリアライズがうまくいきません。私はそれを逆直列化するときに何かがオフになっています。 – micahhoover