6

没有 DataContract 属性的类有什么区别:

public class BankOperationResult
{        
    public int CurrentAmount { get; set; }
    public bool Success { get; set; }
}

和具有 DataContract 属性的同一个类:

[DataContract]
public class BankOperationResult
{        
    [DataMember]
    public int CurrentAmount { get; set; }
    [DataMember]
    public bool Success { get; set; }
}

我的意思是,WCF 在编码等时是否以不同的方式处理这两种类型?

无论有没有这些属性,我的 WCF 服务都可以工作......

谢谢,帕维尔

4

1 回答 1

10

在 .NET 3.5 SP1 之前,如果您没有使用 DataMember 属性标记您的属性,则它不会在 WSDL 中公开并且不会序列化。从 .NET 3.5 SP1 开始,DataContractSerializer将自动包含所有公共属性,因此您不再需要使用此属性来装饰它们。

于 2009-11-27T22:15:33.660 回答