WCF DataContract 与普通类 [重复]

Posted

技术标签:

【中文标题】WCF DataContract 与普通类 [重复]【英文标题】:WCF DataContract vs normal class [duplicate] 【发布时间】:2015-02-05 17:42:14 【问题描述】:

想了解返回或接受普通类作为输入参数与 DataContract 类有何不同。

我有如下课程

public Employee 


    public string empName get;set;

我的 WCF 服务如下

[ServiceContract]
public interface IEmployeeService


    [OperationContract]
    Employee GetEmployeeDetails(int EmpId);

Employee类与following有何不同

[DataContract]
public class Employee


    [DataMember]
    public string empName get;set;

【问题讨论】:

【参考方案1】:

不确定我是否理解这个问题,但我会尝试回答。使用 DataContract 标记类,并使用 DataMember 标记其成员,用于允许任何消费客户端引用和使用该类。如果没有这些属性,您将无法从任何客户端引用服务中的 Employee 类。 *请注意,从 .NET 3.5 SP1 开始,您不再需要使用这些属性标记所有内容,但您应该注意一些注意事项。有关详细信息,请参阅此帖子:

When to use DataContract and DataMember attributes?

【讨论】:

以上是关于WCF DataContract 与普通类 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 WCF 中命名通用 DataContract

如何在 WCF 中将接口标记为 DataContract

数据合约与​​消息合约

WCF 中的 DataContract 有啥意义?

是否可以在 WCF wsdl 中包含一个 DataContract 类,而该类不属于任何 OperationContract?

为啥我不能在同一个类上使用 WCF DataContract 和 ISerializable?