kaz*_*aze 5 c# wcf serialization
我正在尝试通过WCF序列化NameValueCollection.我不断收到异常,告诉我要一个接一个地添加一个类型.添加它们后,我终于得到了
类型'System.Object []'无法添加到已知类型列表中,因为另一个类型'System.Collections.ArrayList'具有相同的数据协定名称' http://schemas.microsoft.com/2003/10/Serialization/Arrays :ArrayOfanyType '已存在.
合同现在看起来像这样:
[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();
}
Run Code Online (Sandbox Code Playgroud)
我真的不知道如何能够序列化我的NameValueColletion.
另一个奇怪的事情是编译器警告不推荐使用CaseInsensitiveHashCodeProvider.
最好的想法是停止使用类似NameValueCollection和的弱类型ArrayList.使用Dictionary<string,string>和List<T>替代.
| 归档时间: |
|
| 查看次数: |
9514 次 |
| 最近记录: |