WCF REST与ADO.NET数据服务

时间:2008-12-02 16:44:35

标签: wcf rest wcf-data-services

有人可以比较和对比WCF Rest服务与ADO.NET数据服务吗?有什么区别以及何时使用哪个?

谢谢,

编辑:感谢第一个答案,只是为了说明我想要做的事情:我有一个我打算放入云端的网络应用程序(有一天), DAL是使用ADO.NET Entity Framework构建的。而且,我需要确定哪种Web服务数据访问技术最适合我的情况。

5 个答案:

答案 0 :(得分:14)

我不确定我能在这里给出一个完整的答案,但我花了很多时间在PDC试图弄清楚这一点,所以这里是一个... ...

这里简短的回答是,ADO.Net数据服务旨在为使用URI和众所周知的数据与Web无缝集成的ADO.Net框架(DataContext,Datasets,DataTables等)提供接口。指向您的数据。 ADO.Net数据服务也用于在云中编程ADO.Net。微软的云服务“Azure”是一个新的云编程平台,将在不久的将来发布。有关云服务的更多信息,请转到here

我发现有关ADO.Net数据服务和云的一个很酷的事情是,可以轻松配置充当数据源提供者的基础DataContext,将您的资源指向云端, ,一个内部部署数据库。这允许您在不更改任何代码的情况下切换DataContext! (如果你不知道的话,我印象深刻)

WCF Rest服务只是普通的WCF服务,它增加了功能,以便以RESTful方式使用它们(URI与URL,HTTTP动词的使用,JSON,YAML等不同数据传输格式的使用...... )。因此,例如,如果您有一个在WCF中构建的股票行情Web服务,而不是要求调用者使用繁重的WSDL实现和ASMX,您可以使用WCF Rest功能将该服务作为JSON服务发布而不是通过AJAX消耗它而不必指向ASMX资源。有关WCF使用休息的更多信息,请查看PDC Presentation

答案 1 :(得分:1)

非常感谢您的见解!对于我的应用程序,我打算将它放在云端,我也使用ADO.NET Entity Framework来构建我的DAL,所以听起来像ADO.NET Data Services是我可以选择的。

  

我发现有关ADO.Net数据服务和云的一个很酷的事情是,作为数据源提供者的基础DataContext可以轻松配置为将您的资源指向云,OR,一个内部部署数据库。这允许您在不更改任何代码的情况下切换DataContext! (如果你不知道的话,我印象深刻)

关于ADO.NET数据服务+ EF如何在云中运行,您是否可以就此提出更多意见?

答案 2 :(得分:1)

如果您想开发和提供以数据为中心的服务,在某些情况下,WCF休息入门套件和WCF数据服务都可以实现许多功能,因为WCF的这两种技术都可以在RESTful方式(例如,带有URL的可寻址内容和xml和json等标准格式的数据)。它们还配备了一系列.NET类,用于处理和处理大量网络和Web请求,如HTTP拦截器和缓存。

但是,WCF数据服务拥有但不支持REST入门套件的一个优点是WCF数据服务可以以标准格式的.NET实体对象的形式公开其数据(这是实现的)由OData协议)。所以我想WCF数据服务可以在很多现实场景中为您提供更多功能。

答案 3 :(得分:1)

ADO.Net数据服务和WCF Rest服务之间的主要区别之一是REST服务重量轻,您可以通过编写单独的方法/函数来自定义获取的内容,而ADO.Net数据服务更像是转储你得到了所有东西......所以对于网络和RIA应用程序,在我看来,WCF Rest服务是最佳和优化的选择......

答案 4 :(得分:0)

WCF数据服务(以前称为ADO.NET数据服务), http://msdn.microsoft.com/en-us/data/aa937697.aspx