何时不需要WCF DataMember

时间:2011-11-22 06:04:18

标签: c# asp.net .net wcf

我的DataContract类中有两个公共属性。

我想在客户端使用它。但我不想通过服务返回这个。我不需要MyDateString的DataMember属性吗?

    [DataMember]
    public DateTime MyDate { get; set; }

    public string MyDateString
    {
        get
        {
            return MyDate.ToString("dd/MM/yyyy");
        }
    }

2 个答案:

答案 0 :(得分:11)

如果要在服务边界上正确序列化,则需要使用DataMember进行装饰。

如果您希望将其用于服务的内部逻辑,并且您不希望在从服务返回此类时该值可用,则不应使用DataMember属性对其进行装饰。

答案 1 :(得分:4)

仅对要序列化的成员需要[DataMember]。由于MyDateString将按预期运行而不进行序列化(MyDateString所依赖的后备属性MyDate,已经已序列化),因此您不需要该属性。