有人可以比较和对比 WCF Rest 服务与 ADO.NET 数据服务吗?有什么区别以及何时使用哪个?
谢谢,
射线。
编辑:感谢第一个答案,只是为了提供一些关于我想要做的事情的背景知识:我有一个我计划放在云中的网络应用程序(有一天),DAL 是用 ADO.NET Entity Framework 构建的。而且,我需要确定哪种 Web 服务数据访问技术最适合我的情况。
有人可以比较和对比 WCF Rest 服务与 ADO.NET 数据服务吗?有什么区别以及何时使用哪个?
谢谢,
射线。
编辑:感谢第一个答案,只是为了提供一些关于我想要做的事情的背景知识:我有一个我计划放在云中的网络应用程序(有一天),DAL 是用 ADO.NET Entity Framework 构建的。而且,我需要确定哪种 Web 服务数据访问技术最适合我的情况。
不确定我可以在这里给出一个完整的答案,但我在 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 演示文稿
非常感谢您的洞察力!对于我的应用程序,我确实计划将它放在云中,并且我还使用 ADO.NET Entity Framework 来构建我的 DAL,所以听起来 ADO.NET 数据服务是我可以选择的。
我发现关于 ADO.Net 数据服务和云的一件很酷的事情是,作为数据源提供者的底层 DataContext 可以轻松配置为将您的资源指向云或本地数据库。这允许您在不更改任何代码的情况下切换 DataContext !!!(如果你不能告诉我,我对此印象深刻)
关于 ADO.NET 数据服务 + EF 如何在云中工作,您能否就这一点多说一些?
如果您想开发和交付以数据为中心的服务,在某些情况下,WCF REST 入门工具包和 WCF 数据服务都可以实现很多功能,因为 WCF 的这两种技术都可以以 RESTful 方式交付您的数据(例如,具有 URL 和标准数据格式(如 xml 和 json)的可寻址内容。它们还配备了一系列 .NET 类,用于处理和处理大量网络和 Web 请求,例如 HTTP 拦截器和缓存。
但是,WCF 数据服务拥有而非 REST 入门工具包的一个优势是 WCF 数据服务可以以 .NET 实体对象的形式和标准格式(这是通过 OData 协议实现的)公开其数据。所以我猜想 WCF 数据服务会在很多现实世界的场景中为您提供更通用的性能。
ADO.Net 数据服务和 WCF 休息服务之间的主要区别之一是 REST 服务是轻量级的,您可以通过编写单独的方法/函数来自定义要获得的内容,而 ADO.Net 数据服务更像是一个转储,您可以获得所有内容...因此,对于 Web 和 RIA 应用程序,在我看来,WCF Rest 服务是最佳和优化的选择...
WCF 数据服务(以前称为 ADO.NET 数据服务), http: //msdn.microsoft.com/en-us/data/aa937697.aspx