Silverlight 4 WCF或RIA服务

3
我非常新于Silverlight,正在考虑哪个方向前进。我正在规划我的新项目,该项目应该建立在Silverlight上。问题是我想要自己的DAL->BLL在服务器端,并且WCF服务,将与Silverlight通信,也应该可被其他应用程序使用,包括其他技术,如Java。
我知道在4版中,微软推出了RIA服务来处理业务逻辑任务和EF来处理数据处理,但我根本不想使用EF。
那么您有什么建议选择哪种方式的优缺点?当使用Silverlight应用程序时,RIA服务是否比标准WCF服务存在一些缺点?移植性如何?例如从Java中使用它?
谢谢
2个回答

1

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

RIA服务的关键在于它允许自动化LINQ查询执行,并在客户端自动生成一些非常先进的代理类。这使得客户端能够像本地客户端一样使用RIA服务进行工作,但实际上这些查询是在服务器上执行的。 RIA服务的缺点是它主要是微软公司的技术(至少在这个版本中是这样)。理论上,您可以从java客户端访问RIA,但这样做几乎没有任何优势;如果您要支持其他客户端,最好手动使用WCF构建服务器服务。

其中一个例外是RIA可以生成oData端点。这在非微软客户端场景下可能有用,但只有在您的情况下oData才是适当的。RIA服务很新,因此我建议在尝试将其用于非Silverlight客户端之前等待下一个版本。


0

RIA服务不与Entity Framework绑定。您可以使用任何数据访问技术并将其公开为RIA服务。与普通WCF相比,RIA服务的优点在于它简化了许多必要的基础设置。


这就是我想知道的。RIA服务究竟简化了什么?我真的一点都不清楚,从来没有使用过RIA和Silverlight,在网络上我只能找到关于RIA + EF模型的信息,所以我在这里问。 - Davita
一个例子是使用模型类上的DataAnnotations进行服务器端验证将自动转换为客户端而无需任何代码。它还提供常见任务,如身份验证和角色。 - Darin Dimitrov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接