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

本文关键字:数据成员 是否 序列化 检查 WCF | 更新日期: 2023-09-27 18:01:52

在c# WCF中,当我们向应用程序发送数据时,哪些元素被序列化?当变量具有属性[数据成员]时,该变量是否被序列化?我不太清楚。如何检查数据成员是否序列化?谁能举个例子解释一下?

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

您需要将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; }
}

下列成员通常被序列化

  • 任何具有getset访问器的公共属性
  • 任何标记为DataMember的属性

基本上你返回对象的所有公共属性都是序列化的,但只有那些具有DataMember属性的属性是可见的或暴露给你的客户端应用程序,如果没有这个属性,你就不能从你的客户端访问它们。