代码之家  ›  专栏  ›  技术社区  ›  Davita

Silverlight 4 WCF或RIA服务

  •  3
  • Davita  · 技术社区  · 14 年前

    我知道在4版本中,MS提供了RIA服务来处理业务逻辑任务,并提供了EF来处理数据,但我根本不想使用EF。

    谢谢

    2 回复  |  直到 14 年前
        1
  •  1
  •   Stephen M. Redd    14 年前

    RIA服务是位于WCF之上的一层。它被设计成支持EF或linqtosql的高级用法。您还可以混合使用您自己的自定义WCF服务,并且您可以将RIA与您自己的自定义逻辑、数据/实体机制以及自定义dto一起使用(不过,您将失去RIA提供的大部分优势)。

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

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

        2
  •  0
  •   Darin Dimitrov    14 年前

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