Jad*_*ias 12 .net wcf datacontract datamember isrequired
我想DataMember在我DataContract的一个中添加一个.我想知道DataMember如果没有更新其中一方,现有服务器和客户端将如何在新的情况下运行.
我记得有一种方法可以DataMember选择,但我想知道它是否适用于所有场景:
Chr*_*ham 15
WCF将优雅地处理它无法识别的新成员.合同的消费者(在客户端或服务器端)根本不会"看到"该成员,因此结果是新成员永远不应该是IsRequired=true 属性.
此外,只要DataContract实现,WCF将透明地桥接组件之间的新属性IExtensibleDataObject.EG,如果消息路径是:
更新的客户端=>旧服务器=>更新的服务器
然后,链末端的更新服务器仍将看到新的DataMember.但是,"旧服务器"不会看到新的DataMember.
如果旧服务器向更新的客户端发送消息,则新客户端将default(type)在反序列化时将新的DataMember设置为.
这里有更多关于DataContract版本控制的最佳实践.
本文讨论了Breaking和Non-Breaking更改之间的区别.
| 归档时间: |
|
| 查看次数: |
4386 次 |
| 最近记录: |