繁体   English   中英

WCF REST与ADO.NET数据服务

[英]WCF REST vs. ADO.NET Data Services

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

谢谢,

射线。

编辑 :感谢第一个答案,只是为了给我一些关于我要做的事情的背景:我有一个我计划放入云端的Web应用程序(有一天),DAL是用ADO.NET Entity Framework构建的。 而且,我需要确定哪种Web服务数据访问技术最适合我的情况。

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

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

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

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

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

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

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

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

您是否可以就ADO.NET数据服务+ EF如何在云中运行这一点进行更多说明?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM