我很难理解以下情况:
主机有一个具有operationMethods的服务
例如Calc (Myclass a)
MyClass
包含2个属性(prop1
,prop2
)
现在,客户也可以通过代理了解MyClass
,并且也应该通过引用知道合同。
所以当客户端创建MyClass的新实例(发送它)时,如何丢失一个道具 ???
当他实例化新的MyClass时 - 两个prop都被初始化(null或者什么都有)。所以为什么我需要isRequired ?
答案 0 :(得分:1)
无法保证他们使用何种语言或如何制定他们的soap请求,因此他们生成它的方式可能不会使用包含该属性的生成类。消息中是否存在必需的要求
与IsRequired的互动
如数据协定版本控制中所述,DataMemberAttribute属性具有IsRequired属性(默认值为false)。该属性指示在序列化数据被反序列化时是否必须存在给定数据成员。如果IsRequired设置为true(表示必须存在值)并且EmitDefaultValue设置为false(表示如果将值设置为其默认值,则该值不得出现),此数据成员的默认值不能为序列化因为结果会相互矛盾。如果将此类数据成员设置为其默认值(通常为null或0)并尝试进行序列化,则抛出SerializationException。