我希望获得一些有关使用WCF在.NET平台上开发Web服务时需要注意的要点的信息,以确保它与大多数客户端(Java,.NET等)兼容...)。
早些时候我看到过我们开发.NET客户端很容易使用的服务的情况,但是当我们用其他平台测试服务时,服务就破了。
如下所述,我对我的观点很少:
我主要关注的是通过网络序列化和发送的数据合约对象。
提前致谢。
答案 0 :(得分:3)
与其他系统互操作可能是一个棘手的业务--WCF是唯一支持大量WS- *标准的平台 - 大多数其他平台仅支持其中的一些,因此wsHttpBinding协议可能“太多”其他系统有时。
BasicHttpBinding是可以的 - 但它是旧的,遗留的,只是为了向后兼容,在安全性等方面提供的不多。我建议:尝试尽可能使用wsHttpBinding,如果你真的必须回到basicHttp 。但总是首先尝试wsHttp。它在安全性和灵活性方面提供了更多。
DataContract是一个完全不同的问题 - 它实际上是XML架构(XSD文件)的.NET包装器,这是行业标准之一,拥有非常广泛和非常全面的支持。因此,WCF的[DataContract]
部分不会成为问题区域。
您的问题最有可能出现在诸如支持各种SOAP版本,对文本编码的不同期望以及 - 当然 - 安全设置等方面。但我可以向您保证 - 通过WCF,您可以获得独特的优势,因为WCF可以进行调整,以支持最疯狂,最具异国情调的Web服务和Web服务客户端!
这可能需要一些工作,需要进行一些调整 - 但WCF确实为您提供了必要的工具和扩展点,以便成功完成此任务。
马克
答案 1 :(得分:2)
我建议您在构建服务后使用WS-I一致性测试。
检查:http://www.ws-i.org/deliverables/workinggroup.aspx?wg=testingtools
WS-I代表Web服务互操作性,如果您的服务几乎通过所有测试,您可以100%确定它们可以与各种客户端一起使用。