尽管我已经阅读了一些关于消息合约的WCF文章,但我无法理解消息合约的真正用途。我可以使用MessageContract
而不是DataContract
或补充DataContract
吗?DataContract vs Message Contract
回答
A DataContract是由您的服务公开和支持的类型的描述。 A MessageContract是SOAP消息的抽象,它允许您明确指定底层消息的结构。
它们的意思是相互恭维,服务于不同的目的。
你可以给我一些实现 – 2010-11-07 17:12:43
使用DataContract,该服务可以公开它交换的类型。但是互换的XML(SOAP)不受其控制(虽然受到影响)。虽然MessageContract可以用来明确定义XML(SOAP消息)的结构。
Marc Gravellanswered到类似的问题WCF: MessageContract, DataContract ... Confused?
一个消息合约的好处是,你可以设置隐私 反对成员,但在许多情况下,这是没有必要的。在这种情况下,我宁愿保持合同尽可能简单,就像 数据合同一样。
其中一个最好的部分在消息合约,它总是会帮助你把额外的安全性或编写一个包装认证的目的,使服务(S)认证呼叫(这可能包括WCF和WS),而客户端打电话给服务。
消息契约还有助于通过引入不同的消息检查器来诊断客户端和服务之间的通信。
通常,在构建Windows Communication Foundation(WCF)应用程序时,开发人员密切关注数据结构和序列化问题,并且不需要关心携带数据的消息的结构。对于这些应用程序,为参数或返回值创建数据合约很简单。
但是,有时对SOAP消息结构的完全控制与控制其内容一样重要。当互操作性很重要或特别控制消息或消息部分的安全问题时,尤其如此。在这些情况下,您可以创建一个消息协定,使您能够指定所需的精确SOAP消息的结构。
欲了解更多信息: https://msdn.microsoft.com/en-us/library/ms730255(v=vs.110).aspx
- 1. DataModel与DataContract vs. ViewModel
- 2. JGroups:send(null,null,Message)vs send(Address,null,Message)
- 3. WCF DataContract vs普通类
- 4. Message Queue vs Task Queue difference
- 5. select message for message feed
- 6. WCF DataContract与DataContract接口
- 7. Android - Contract and Provider JOIN交互
- 8. WCF DataContract
- 9. 有redirect_to的后无重定向@Contract
- 10. WCF和[DATACONTRACT] + [DATAMEMBER]
- 11. DataContract和继承?
- 12. Multiple DataContract Callbackcontract
- 13. WCF DataContract Upcasting
- 14. DataContract在WCF
- 15. DataContract属性-WCF
- 16. DataContract问题
- 17. DataContract复合类
- 18. WCF DataContract问题
- 19. WCF DataContract GetCustomDataToExport
- 20. Design by Contract编程的最佳实践
- 21. gcc -ffp-contract选项的区别
- 22. Spring Cloud Contract不适用于Surefire 2.20
- 23. Spring Cloud Contract是否支持JavaScript和JMS?
- 24. 的ObservableCollection和CollectionChanged事件作为WCF datacontract
- 25. Twilio Message Params Empty
- 26. Mule Message Redelivery
- 27. ISO_8583 MESSAGE包装
- 28. MVC Localization ViewData [“message”]
- 29. MD5 Message Digest Java
- 30. Android Handler Message Queue
的可能重复[WCF:MessageContract,DataContract ...弄得(http://stackoverflow.com/questions/673638/wcf-messagecontract-datacontract-confused) – 2013-05-21 09:02:49
请检查以下链接:http://www.sujitbhujbal.com/2012/05/when-to-use-data-contract-and-message.html – 2013-08-22 14:34:52
DataContract是关于发送和接收的数据(类)的合同通过服务。 MessageContract是一种方法(您可以选择)定义低级SOAP消息结构。 (但你不需要这样做,如果你有基本的数据信息,它可以被忽略) – 2017-09-08 09:01:55