【问题标题】:How to use [DataMember] for IEnumerable<string> for property in WCF如何在 WCF 中将 [DataMember] 用于 IEnumerable<string> 的属性
【发布时间】:2013-04-10 11:52:38
【问题描述】:

我正在尝试将 [DataContract] 和 [DataMember] 用于以下课程。

[DataContract]
public abstract class TestClass
{
    #region Public Contructors        
    protected TestClass()
    {
    }
    #endregion

    #region Public Properties   

    [DataMember]
    public IEnumerable<string> Subjects { get; set; }

    #endregion      


}

我收到以下错误

无法序列化成员 TestClass.Subjects System.Collections.Generic.IEnumerable`1[[System.String, mscorlib,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089]] 因为是接口

请问我该如何解决这个问题?

【问题讨论】:

标签: wcf


【解决方案1】:

正如错误消息所说,您不能序列化像IEnumerable 这样的接口。 尝试使用像List&lt;string&gt; 甚至string[] 这样的具体集合。

请记住,您通过 WCF 发送的 serialized 类可能最好是代理类或 DTO,这样您就不会弄乱您的业务模型。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2010-10-08
    • 2011-04-18
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 2014-06-23
    • 1970-01-01
    相关资源
    最近更新 更多