强类型对象vs Plain XML作为来自其他API服务的响应?哪一个最好

时间:2012-05-15 13:02:04

标签: xml wcf web-services rest architecture

我们即将启动一个服务项目,该项目将向不同的客户提供有关我们的域对象的数据。我们将拥有客户端,包括ASP.NET Web表单/ MVC,经典ASP,PHP和Android应用程序(Java作为后端代码)

我们正在进行某种研究,以确定使用哪种发展策略。我们有写作WCF服务的经验。 WCF Rest是否支持architechure?我读到Rest Architecture将数据作为Plain XML / Json返回。不是强类型对象。在编写以前的WCF服务时,当我在客户端应用程序中使用它时,我真的很喜欢响应是强类型对象。我想用REST是不可能的。

我正在研究ASP.NET Web API(WCF现在变成了这个)。但这仍处于测试阶段,我的团队尚未准备好使用仍处于测试阶段的内容。

我应该使用的最佳appproach是什么? WCF服务返回stronlgy类型的对象或XML?有什么好处和优点两者的缺点?

1 个答案:

答案 0 :(得分:0)

什么是强类型对象? :)它本质上被认为是它预期的类型。只有当您有办法控制服务器和管道的客户端(即两端的相同VM,或相同的语言或可以编组/解组相应语言的代理/存根)时,您才能这样做。

那么,这是什么意思?我建议使用带有XML / JSON的WCF,因为这是通过网络进行通信的通用语言。一旦你意识到线路上弱类型的好处,你就会克服强大的类型。如果您真的想要强类型,可以使用xsd.exe或类似的东西来为您的服务生成代理。

所有这一切,你真的应该把努力分成两件事:

  • 使用WCF实现域服务以包装后端。这些只是.NET程序集,它们将合同暴露给有线协议服务。
  • 使用对终端消费者友好的东西来实施有线服务。尝试将此作为一项微不足道的工作,以便您可以快速,廉价地创建它们。像vert.x或node.js或WebAPI ..

当然,你可能已经在做这一切,我可能完全错了。 :)