在将对象从WCF服务传输到客户端时忽略某些属性

本文关键字:属性 客户端 对象 WCF 传输 服务 | 更新日期: 2023-09-27 18:18:28

我在应用程序的服务端有一个poco。我想把这个对象转移到客户端,但没有一些特定的属性。

是否有一种方法来"隐藏"一些属性时,返回结果给我的客户端?

我已经尝试了[IgnoreDataMember], [IgnoreProperties("xxx")], [NonSerialized]和许多其他属性,但没有运气…有什么办法可以做到吗?

在将对象从WCF服务传输到客户端时忽略某些属性

您的WCF服务必须在poco类上使用DataContract,从属性中删除[DataMember]属性,这应该可以工作。

例如,以下BoolValue将不属于合同的一部分。

[DataContract]
public class CompositeType
{
    bool boolValue = true;
    string stringValue = "Hello ";
    //Not a part of contract
    public bool BoolValue
    {
        get { return boolValue; }
        set { boolValue = value; }
    }
    [DataMember]
    public string StringValue
    {
        get { return stringValue; }
        set { stringValue = value; }
    }
}