首页 文章

RIA服务与WCF服务

提问于
浏览
15

我正在重写一个LOB应用程序,其架构如下:

Silverlight && Windows Mobile - > WCF - >实体框架 - >数据库 .

移动应用程序应该能够像Silverlight应用程序那样做某些事情 . 使用RIA服务可以获得哪些好处?什么是RIA服务优于WCF的优势和劣势?

7 回答

  • 0

    .NET RIA Services是为在浏览器中运行的Silverlight创建的 . Silverlight正在运行.NET框架的特殊版本,在N层应用程序中,Silverlight无法与服务器端共享程序集 . 通过使用一些_b74393_ .NET RIA服务使得开发人员几乎看不到这个差距 . 类似于域类的类是在客户端生成的代码,并且还提供了在客户端和服务器之间来回移动对象的方法 .

    您可能可以从Windows Mobile调用.NET RIA服务,但我认为这不会特别容易,而且目前您可能实际上必须对通过线路发送的内容进行逆向工程(使用JSON) . WCF在另一方面具有更广泛的范围,但不像.NET RIA Services那样支持Silverlight开发 .

    如果您正在编写仅限Silverlight的N层应用程序,那么.NET RIA Services非常强大 . 但是,如果Silverlight只是几个客户端中的一个,那么WCF可能是更好的选择 .

    请注意,.NET RIA服务尚未发布,但可以下载预览 .

  • 0

    WCF RIA Services为您在使用Silverlight的WCF时遇到的挑战引入了多种解决方案 . 例如,使用 EntityQuery<T> 异步加载查询比WCF提供的Begin..End解决方案容易得多 . 此外,RIA还提供来自客户端的集成更改跟踪,允许作为一个更改集提交或拒绝多个更改 . RIA会将所有这些更改捆绑到一个请求中,但是从您的域服务中,它的行为就像个人呼叫一样 . 作为很长一段时间的WCF开发人员,我可以告诉你,这是一件轻而易举的事 .

  • 3

    创建Ria服务只是为了与Silverlight一起使用 . 它们基本上是Silverlight准备使用的标准“软件包” . 优点是你有很多服务而不需要编写代码,即:

    • 支持数据注释

    • 支持会员提供者和登录

    • 支持转移到silverlight服务器端生成的异常 . Silverlight存在一个难点,即通过FaultContract使异常的正常错误传输变得困难 . 关键是浏览器无法处理所有错误代码 . Ria服务通过一招来解决这个问题

    Ria完成的所有工作都可以通过WCF和其他可用软件完成,特别是Wcf数据服务 . 例如,对于数据注释,我发现this library比Ria服务做得更好,对成员资格的支持只需要激活WCF服务的现有成员资格 endpoints ,最后通过编写WCF行为可以轻松解决异常问题 . 代码可在此处获取:http://www.silverlightshow.net/Storage/10Tips.zip关键是,通过Ria服务,您可以通过鼠标点击完成所有这些操作!另一方面,Ria Services真的很难定制......所以如果你不使用它们

  • -6

    RIA Services Build 在WCF之上 . 随着PDC的发布,这将更加明显 . RIA Services简化了客户端编程模型,使其与服务器端DomainService和实体非常接近 .

  • 1

    无论答案如何:

    RIA服务 Build 在WCF之上 . 随着PDC的发布,这将更加明显 . RIA Services简化了客户端编程模型,使其与服务器端DomainService和实体非常接近 .

    对我来说(我猜对于主题作者)除了访问DomainService(WCF提供的内容)之外,还不清楚RIA服务提供了什么?

    谢谢 .

  • 0

    在WCF RIA服务正式发布之前,我认为这个问题没有明确的答案 . 截至目前的Beta版(针对VS 2008,SL 3),RIA Services并未隐藏服务调用的异步性质;你仍然需要提供一个回调方法 . 此外,RIA Services当前不支持用户定义的类(或用户定义的类的集合)作为RIA上的参数或返回值服务电话 . 我也在通过RIA Services提供不可编辑的实体类时遇到麻烦 . (错误说实体集合不可编辑 . 是的,这实际上是我想要的......)

    在这一点上,我需要回过头来再看一下普通的旧WCF工作 . 考虑到我们正在开发的应用程序的大小,这并不是那么简单,但在MS修复RIA服务的一些当前问题之前,它似乎是可行的解决方案 .

  • 13

    .NET RIA Services已于2009年11月在PDC中被命名为WCF RIA服务 . 由于它 Build 在WCF之上,因此名称为 WCF RIA Services .

    您需要使用WCF RIA服务来构建涉及数据库的N层应用程序(或需要沿层传输的任何信息) .

相关问题