在WCF中需要

时间:2012-10-30 10:59:16

标签: asp.net wcf

如果要添加数据成员,它将通过网络发送给客户端。添加Isrequired有什么好处?请解释

2 个答案:

答案 0 :(得分:3)

这意味着当您在线路上传递对象的副本时,您应用它的数据采集必须存在。

所以,

[DataContract]

    public class MyObject
    {
    [DataMember] 
    public int numberTest;
    [DataMember(IsRequired=true)]
    public int numberMustBeThere;
    }

如果您发送了以上内容:

<MyObject>
<numberTest>123</numberTest>
</MyObject>

它会失败,因为它声明numberMustBeThere应该存在

但是,如果你发送这两个中的任何一个,那就没问题了,因为默认是假的(因此不需要numberTest)

<MyObject>
<numberMustBeThere>123</numberMustBeThere>
</MyObject>

<MyObject>
<numberTest>123</numberTest>
<numberMustBeThere>123</numberMustBeThere>
</MyObject>

希望这有帮助

答案 1 :(得分:1)

基本上,当您声明DataMember IsRequired时,您说如果未设置datacontract字段,则应在客户端上引发异常。这对于在数据协定中指定必填字段非常有用。

我希望它有所帮助。

此致 罗德里戈