【问题标题】:Silverlight 4 WCF or RIA servicesSilverlight 4 WCF 或 RIA 服务
【发布时间】:2010-09-11 10:18:16
【问题描述】:

我对 Silverlight 很陌生,我正在考虑要走哪条路。我正处于我的新项目的规划阶段,该项目应该建立在 Silverlight 上。问题是我想在服务器端拥有自己的 DAL -> BLL,并且将与 Silverlight 对话的 WCF 服务也应该可以被其他应用程序使用,包括其他技术,例如 Java。 我知道在 4 版本中,MS 提供了 RIA 服务来处理业务逻辑任务和 EF 来处理数据,但我根本不想使用 EF。 那么您有什么建议吗?选择这两种方式的优缺点是什么?与标准 WCF 服务相比,使用 silverlight 应用程序时,RIA 服务是否有一些缺点?便携性如何?例如从 java 中使用它?

谢谢

【问题讨论】:

    标签: .net silverlight wcf


    【解决方案1】:

    RIA 服务是位于 WCF 之上的一个层。它旨在启用 EF 或 LINQ to SQL 的高级用法。您还可以混合使用自己的自定义 WCF 服务,并且可以将 RIA 与自己的自定义逻辑、数据/实体机制以及自定义 DTO 一起使用(尽管您将失去 RIA 提供的大部分优势)。

    RIA 服务的关键在于它允许自动执行 LINQ 查询并在客户端自动生成一些非常高级的代理类。这允许客户端使用 RIA 服务,就好像查询执行在客户端本地一样,但这些查询实际上在服务器上执行。 RIA 服务的缺点是它主要是一种仅限 MS 的技术(至少在这个版本中)。从理论上讲,您可以从 Java 客户端与 RIA 对话,但这样几乎没有任何优势;如果您要支持其他客户端,最好建议您仅使用 WCF 手动构建服务器服务。

    一个例外是 RIA 可以生成 oData 端点。这在非 MS 客户端场景中可能很有用,但前提是 oData 适合您的情况。 RIA 服务是非常新的,所以我会等待下一个版本,然后再尝试将它用于非silverlight 客户端。

    【讨论】:

      【解决方案2】:

      RIA 服务不绑定到实体框架。您可以使用任何您想要的数据访问技术并将其公开为 RIA 服务。与普通 WCF 相比,RIA 服务的一个优势在于它简化了许多必要的管道。

      【讨论】:

      • 这就是我想知道的。 RIA 服务究竟简化了什么?我真的不知道,从未与 RIA 和 Silverlight 合作过,在网上,我只能找到有关 RIA + EF 模型的信息,这就是我在这里问的原因。
      • 一个例子是在模型类上使用 DataAnnotations 的服务器端验证将自动转置到客户端,而无需任何代码。它还提供身份验证和角色等常见任务。
      猜你喜欢
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多