如何在WCF中检查数据成员是否已序列化?

时间:2013-03-01 05:28:24

标签: c# wcf

在C#WCF中,当我们向应用程序发送数据时,哪些元素被序列化? 当变量具有[Data member]属性时,该变量是否被序列化?我完全不知道。您将如何检查数据成员是否已序列化?任何人都可以用一个例子来解释吗?

3 个答案:

答案 0 :(得分:1)

以下成员通常是序列化的

  • 同时拥有getset访问者
  • 的所有公共财产
  • 任何标记为DataMember
  • 的属性

答案 1 :(得分:1)

您需要将DataContractAttribute放在您的类上,并将DataMemberAttribute放在您希望序列化的任何属性上。

以下是数据合同示例:

[DataContract]
public class MyType
{
    // This property is serialized to the client.
    [DataMember]
    public int MyField1 { get; set; }

    // This property is NOT serialized to the client.
    public string MyField2 { get; set; }
}

答案 2 :(得分:0)

基本上,返回对象的所有公共属性都是序列化的,但只有具有属性DataMember的属性才可见或暴露给您的客户端应用程序而没有此属性,您无法从客户端访问它们。