10

我目前正在创建 Silverlight 3 数据驱动应用程序。要访问数据库,使用了 2 种常用方法:RIA 服务和 ADO.NET 数据服务。有人对何时/为什么选择每种方法有任何指导吗?这是我从我的研究/经验中收集到的。有什么想法吗?

ADO.NET 似乎只对严格的数据库调用有用。如果您需要将数据服务公开给其他应用程序(忽略 Silverlight 3 的域限制),这是一个好方法。此外,如果 URL/Query 语法在您的应用程序中有用,这是另一个优势

RIA 服务似乎是一个更灵活、更被接受的框架。它似乎给你的不仅仅是严格的数据库访问。它确实有一个限制,只能用于 Silverlight / Web 应用程序,因为它不通过服务公开。

想法?想法?评论?

4

3 回答 3

10

通过网络,ADO.NET 数据服务和 RIA 服务非常相似(它们都是基于 REST 的)。

但是,对于 ADO.NET 数据服务和所有其他 REST 服务,您很难在 Visual Studio 中看到 API。例如:您不知道对数据库的哪些调用可用,并且返回的数据不是强类型的。它提供了一个非常可互操作的数据系统,但使用起来可能很痛苦。

使用 RIA 服务,您可以两全其美,因为您的 RIA 项目直接为 silverlight 项目引用,因此 Visual Studio 可以知道哪些方法可用并且所有内容都是强类型的。所有其他应用程序都可以使用此服务 (dataservice.axd),但它们没有 API 的优势。

编辑:更正:ADO.NET 数据服务确实生成元数据(抱歉信息错误) http://msdn.microsoft.com/en-us/library/cc716656.aspx

于 2009-06-10T18:48:37.577 回答
3

这是一个非常古老的问题,但想为读者添加一个答案。

Ria 服务位于 ADO.net 数据服务之上。Ria 服务使用 ADO.Net 作为基础框架并添加层以便于 UI 库的使用。

所以问题可能是何时使用 RIA 服务以及何时使用 ADO.Net 数据服务

于 2010-03-08T03:11:46.100 回答
0

我使用 Silverlight 2 和 ADO.NET 数据服务制作了一个系统原型,我目前正在推进一个使用 Silverlight 3 和 RIA 服务的 LOB 应用程序的 MVVM 实现。

RIA 有一个安全模型,可以避免您使用 WCF 创建自己的安全模型以供 Silverlight 使用。它基于 ASP.NET 安全提供程序模型。它有一个有趣且强大的验证模型,允许您轻松插入自己的客户验证器。

RIA 服务的主要问题是它们是非常新的,不是最终形式,并且文档很少,只是一个简单的案例情景。Beta 预计将于 11 月在 PDC 和带有 EF 4.0、C# 4.0 和 VS2010 的 RTM 上发布。

在这么早的时候处理某些东西时,您可能会期望随着发布的发布而进行大量的重构,并且会对不易发现的小更改感到沮丧。

我们目前正在解决 EF 和 RIA 中的错误,我们可能需要使用数据服务来做一些事情,直到 RIA 更加稳定。

数据服务和 RIA 都有强类型。Intellisense 两者都适用。Resharper 尚不支持 RIA,尽管预计在其 5.0 版本中。

于 2009-08-31T15:31:35.493 回答