11

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

谢谢,

射线。

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

4

5 回答 5

15

不确定我可以在这里给出一个完整的答案,但我在 PDC 花了很多时间试图自己解决这个问题,所以这是一个尝试......

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

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

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

于 2008-12-02T17:27:39.237 回答
1

非常感谢您的洞察力!对于我的应用程序,我确实计划将它放在云中,并且我还使用 ADO.NET Entity Framework 来构建我的 DAL,所以听起来 ADO.NET 数据服务是我可以选择的。

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

关于 ADO.NET 数据服务 + EF 如何在云中工作,您能否就这一点多说一些?

于 2008-12-02T17:35:31.093 回答
1

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

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

于 2010-04-21T15:25:21.663 回答
1

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

于 2011-05-26T20:28:26.550 回答
0

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

于 2010-03-24T16:49:24.530 回答