我开始收集有关在WCF中创建可互操作的Web服务(不是客户端)的最佳实践。请分享您的经验,如果您知道任何通常不可互操作或不能与特定平台互操作的功能。开发可互操作的WCF Web服务时应该知道些什么?
5
A
回答
4
相当简单:
避免任何.NET细节像例外(把它们变成SOAP错误)
不使用任何绑定与
net
像开始netTcp,netNamedPipes,netMsmq和等等 - 使用wsHttpBinding
作为安全的WS- *服务,并使用basicHttpBinding
来达到最大范围甚至是最奇怪的客户端平台的兼容性不使用Ne tDataContractSerializer
3
我推荐WCF REST暴露多种序列化格式,对于初学者来说肯定是xml。
3
一般的互操作性:
- 只有HTTP和HTTPS传输信道的安全凭证可互操作的
- 谈判是不能互通的(negotiateServiceCredential在信息安全)。它使用TLSNego或SPNego协议,这些协议并不总是受其他平台的支持。
- HTTP流可引起麻烦以及
- 通过HTTP信道的二进制编码不是可互操作的
- OleTransactions不能互操作
- 小心使用服务的安全上下文(estabilishSecurityContext在消息安全性)。它使用WS-安全对话协议,该协议不适用于某些平台
编辑:
- WSDualHttpBinding和CompositeDuplexBindingElement不能互操作
相关问题
- 1. PHP/MySQL Web开发人员应该知道哪些服务器?
- 2. 开发人员应该知道什么与托管代码的互操作性
- 3. 设计可互操作的Web服务
- 4. Web服务互操作性
- 5. 在作为asp.Net开发人员转到extJs之前应该知道些什么?
- 6. 由开发人员无能打破Web服务互操作性?
- 7. 为什么我们应该使用WSDL4j来开发Web服务?
- 8. 的Apache CXF和.NET Web服务WCF的互操作性
- 9. 关于开发64位应用程序,我应该知道些什么?
- 10. 我开始使用Git之前应该知道些什么?
- 11. iPhone/.NET WCF互操作性
- 12. 可能的时间Web服务操作
- 13. 为什么远程git服务器应该有 - 不知道
- 14. WCF中不可互操作的服务的优点?
- 15. C#/ .Net/WPF开发人员应该知道什么?
- 16. Ruby和Rails开发人员应该知道什么?
- 17. 开发人员设计师 - 我应该知道什么?
- 18. 如何制作可互操作的“推”式Web服务?
- 19. WCF和WebLogic SAML互操作
- 20. 在WCF中发送XML数据的可互操作方式?
- 21. 显示WCF Web服务操作
- 22. WCF - 异步服务是否可以互操作?
- 23. 关于F#CTP我应该知道些什么?
- 24. WCF - 作为已知类型的对象 - >可互操作?
- 25. 每个.NET开发人员应该知道哪些类/接口?
- 26. C#无法连接到WCF服务时调用COM互操作
- 27. 什么时候应该在WCF服务中使用OperationContextScope?
- 28. 将json传递给WCF webHTTP服务时应该注意什么?
- 29. 什么时候应该开始和停止我的通知服务?
- 30. 我应该使用什么技术来开发小型Java Web服务?
1)如何改变例外任何提示到SOAP错误? - 我不确定这到底意味着什么。 2)关于不使用NetDataContractSerializer:我在我的数据合同上使用System.Xml.Serialization,是互操作性的更好选择吗? – VoodooChild 2012-12-07 07:34:30