不需要 WCF DataMember 时
Posted
技术标签:
【中文标题】不需要 WCF DataMember 时【英文标题】:When WCF DataMember Is Not Required 【发布时间】:2012-01-03 14:13:14 【问题描述】:我的 DataContract 类中有以下两个公共属性。
我想在客户端使用它。但我不想通过服务退回这个。我不需要 MyDateString 的 DataMember 属性吗?
[DataMember]
public DateTime MyDate get; set;
public string MyDateString
get
return MyDate.ToString("dd/MM/yyyy");
【问题讨论】:
【参考方案1】:如果您希望它在您的服务边界上正确序列化,您需要使用 DataMember 来装饰它。
如果您希望它用于服务内部的逻辑,并且您不希望在从服务返回此类时该值可用,那么您不应该使用 DataMember 属性来装饰它。
【讨论】:
【参考方案2】:您需要[DataMember]
仅用于您想要序列化的成员。由于MyDateString
将按预期运行而无需序列化(MyDateString 所依赖的支持属性 MyDate已经序列化),因此您不需要在该属性上使用它。
【讨论】:
以上是关于不需要 WCF DataMember 时的主要内容,如果未能解决你的问题,请参考以下文章
将 DataMember 添加到 WCF 中的现有 DataContract
有没有办法在 WCF 的数据合同中使用 DataMember 装饰多个属性?
将 WCF 项目从 VS 2008 移植到 2010 时出错