【问题标题】:What is the difference between WCF and the RIA Services Domain Service Class?WCF 和 RIA 服务域服务类有什么区别?
【发布时间】:2009-06-12 01:45:41
【问题描述】:

我只是在向自己介绍 Silverlight 3 与其前身之间的基本区别。查看 RIA 服务中的域服务类,执行似乎相当简化。有人可以解释这与 Windows Communication Foundation 之间的基本区别吗?

域服务类是否在后台使用 WCF 或其他一些服务框架,或者这是全新的?

【问题讨论】:

    标签: silverlight web-services silverlight-3.0


    【解决方案1】:

    我建议您阅读this blog article,其中提到:

    我们对 RIA 服务工作的思考确实源于几年前的 LINQ 项目。 LINQ 将查询语义集成到语言(C#、VB 等)中,为处理数据提供通用抽象;该数据是否在内存中的 CLR 对象、XML、关系数据或其他任何东西中。借助 RIA 服务,我们通过提供一个规范的模型来扩展这种模式,以便在 LINQ 上公开您的域逻辑。我们将领域逻辑视为您的应用程序中非常特定于您的领域的那部分——这是您正在解决的特定业务问题。

    因此,对于“域逻辑”而言,LINQ 对于数据而言,而 WCF 本质上只是一个服务提供者。

    在传统的 N 层开发中,这意味着:

    ...您应该将 RIA 服务视为 ADO.NET 数据服务和 WCF 之上的更具感知力的层...我们还期望最终提供对底层 WCF 服务的所有功能和灵活性的完全访问,例如作为高度优化的二进制序列化。

    或者您也可以选择使用新的“RIA 服务模式”来:

    ...轻松构建 ASP.NET 应用程序,同时利用 RIA 服务的所有内置功能,例如数据验证、授权等。在 3 月预览版中,我们提供了一个 asp:DomainDataSource 控件,它可以非常轻松地实现ASP.NET WebForms 访问您的域逻辑。在此之上构建的是 ASP.NET 动态数据的未来版本,它可以非常容易地根据您的域逻辑生成通用的标准 UI。

    这意味着 RIA 服务可以:

    另一个例子也值得查看Mix09: Building Amazing Business Applications with Silverlight 3

    在我写这篇文章时,我刚刚发现了Microsoft's .NET RIA Services Overview,它似乎解释了 RIA 服务背后的许多理性(可能比上面的一些更清楚:)

    【讨论】:

    • 很好的答案!目前,我很确定 RIA 服务始终位于 WCF 之上(Building a Data-Driven Expense App w SL3 文章没有另外说明)。您能否使用显示 RIA 服务未使用 WCF 的具体示例更新您的帖子?
    • 我没有详细阅读数据驱动的文章,但没有看到其中使用了 WCF(只是顺便提一下?)。此外,如果您查看 Microsoft Overview pdf 的第 114 页,“使用 ASP.NET DomainDataSource”示例基本上只使用 RIA + Linq 2 Sql
    • Linq 2 Sql 是一种服务器端技术 - 我认为本文的部分内容是在讨论 ASP.NET,而不是 Silverlight。
    • 从我所看到的一点点来看,似乎通过将“域服务类”添加到项目中,您可以从 Silverlight 应用程序中获得类似于服务器端项目的“Web 服务”接口。 .. 但我在 web.config 中看不到任何 WCF 挂钩。访问这些服务的同步“感觉”也特别有趣。
    【解决方案2】:

    我们将两者结合使用。 WCF 处理大容量数据,更适合二进制序列化,RIA 处理 CRUD 实体,因为代码的编写和维护速度要快得多。如果 RIA 支持二进制,我们将使用它而不是 WCF,但我很确定它在当前版本中不支持。

    【讨论】:

      【解决方案3】:

      与 RIA 一样,WCF 有更多的调试选项。域数据源更容易设置,但更难找出错误。 在许多情况下,WCF 将用于创建一个互操作性通信系统,该系统使用 WSSE 标头安全性解除旧的 WSDL。

      【讨论】:

        猜你喜欢
        • 2011-02-01
        • 2011-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-26
        • 2011-04-10
        • 2010-11-15
        • 2011-07-14
        相关资源
        最近更新 更多