【问题标题】:RIA Services vs ADO.NET Data ServicesRIA 服务与 ADO.NET 数据服务
【发布时间】:2009-06-10 17:04:52
【问题描述】:

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

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

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

想法?想法?评论?

【问题讨论】:

    标签: .net-3.5 silverlight-3.0 wcf-data-services wcf-ria-services


    【解决方案1】:

    通过网络,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

    【讨论】:

    • 很好的信息。我必须给你一个“虚拟”投票,因为我对 Stack Overflow 太陌生(声誉只有 11),无法投票给你的答案。
    • 我相信你错了:关于数据服务的“在 Visual Studio 中不容易看到 API”。 ADO.NET 数据服务可以像任何 WCF/RIA 解决方案一样导入 Visual Studio,它允许您在代码中通过创建的强类型方法/类查看 API。
    • 总体不错的线程,但我同意 Robert 的观点 - ADO.NET 数据服务很容易在后台查看。
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      我使用 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 版本中提供。

      【讨论】:

        猜你喜欢
        • 2011-01-29
        • 2012-01-14
        • 1970-01-01
        • 1970-01-01
        • 2010-09-24
        • 1970-01-01
        • 1970-01-01
        • 2011-04-22
        • 2011-07-14
        相关资源
        最近更新 更多