WCF和[DataMember]属性

Ran*_*der 3 c# wcf

我有以下(缩写)类通过WCF发送到客户端/从客户端接收:

public class Sparetime : ChartConfigurationBase, IChartConfiguration
{
    [DataMember]
    public int SparetimeConfigurationId { get; set; }

    public Single FeederOffRate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

请注意,第一个属性使用DataMember属性,第二个属性不使用.我是否更正,在进行WCF调用时,只有第一个属性会被序列化并发送给客户端?

Ale*_*exH 8

是的,你是对的, MSDN文档指定它:

应用于类型成员时,指定该成员是数据协定的一部分,并且可由DataContractSerializer序列化.

您应该将DataContract属性添加到您的类中以使其可序列化:

[DataContract]
public class Sparetime : ChartConfigurationBase, IChartConfiguration
{
}
Run Code Online (Sandbox Code Playgroud)

请注意,FeederOffRate将设置为其默认值(引用类型为null).