【问题标题】:WCF REST vs. ADO.NET Data ServicesWCF REST 与 ADO.NET 数据服务
【发布时间】:2010-09-24 23:31:07
【问题描述】:

有人可以比较和对比 WCF Rest 服务与 ADO.NET 数据服务吗?有什么区别,什么时候用?

谢谢,

雷。

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

【问题讨论】:

标签: wcf rest wcf-data-services


【解决方案1】:

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

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

我发现关于 ADO.Net 数据服务和云的一件很酷的事情是,作为数据源提供者的底层 DataContext 可以轻松配置为将您的资源指向云中,,一个本地数据库。这允许您在不更改任何代码的情况下切换 DataContext !!! (如果你说不出来,我就被这件事打动了)

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

【讨论】:

  • 接下来看我的帖子,最初是作为评论发布的,后来我觉得需要超过300个字符
  • 可能应该补充一点,所有 ADO.Net 数据服务都是 WCF REST 服务 但不是所有 WCF REST 服务都是 ADO.Net 数据服务。 Google 员工注意事项: ADO.NET 数据服务在 OP 发布大约一年后重命名为 “WCF 数据服务”。见en.wikipedia.org/wiki/WCF_Data_Services
【解决方案2】:

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

我发现关于 ADO.Net 数据服务和云的一个很酷的事情是,作为数据源提供者的底层 DataContext 可以轻松配置为将您的资源指向云中,或者,一个本地数据库.这允许您在不更改任何代码的情况下切换 DataContext !!! (如果你看不出来的话,我就被打动了)

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-26
          • 1970-01-01
          • 2010-09-08
          • 1970-01-01
          • 1970-01-01
          • 2012-01-14
          相关资源
          最近更新 更多