【发布时间】:2011-11-08 09:15:59
【问题描述】:
我们开始开发新的 Silverlight LOB 应用程序,其中 DataAccess 将不基于 EF,而是基于我们自己的 DAL 代码(出于遗留和其他不相关的原因)。
我们目前正在讨论是否使用 RIA 服务或简单的 WCF 服务作为 Silverlight 的外观层。
选项:
RIA 服务和生成的代码:RIA 服务将在我们的 Silverlight 项目中自动创建域模型和域服务的代理类。
这意味着我们的服务需要从 DomainService 类继承,并且需要大量的工作和变通方法才能让我们的自定义模型能够正常序列化(因为我们不使用 EF)
WCF 和共享库:我们将创建一个 DomainModel 库,它将在 Silverlight 和我们的服务器代码 (as offered here) 之间共享,让我们能够更好地控制我们的域类的外观,以及它们在 Silverlight 上的显示方式,并且我们的服务将保持干净,因为 WCF 不要求我们使用任何基类,并为我们提供了更多关于如何公开服务的权力。
所以问题是 - 鉴于我们不使用 EF,RIA 服务的优点是什么,使用 WCF 和共享域的缺点是什么?
【问题讨论】:
-
我不能给你一个明确的答案,老实说这个问题有点主观,可能会引起争议。我会告诉你,你喜欢哪一个,你喜欢哪一个。使用 WCF。像 RIA 服务这样的优步“我们为你做所有内部聪明”的框架是那种只需很少的初始投资就能获得巨大回报的东西(你的投资实际上会更大,因为你没有使用 EF),但以后可能会产生高昂的成本沿着有时无法恢复的道路。 WCF 让您拥有更好的控制权。
-
这正是我的想法——在这里的许多项目中,automagically 缩写为 automanually。从关于 MVP 和其他关于 RIA 服务的宣传者的文章和示例呈指数增长,我担心未来的版本和工具将有更好的支持和与 RIA 服务的集成,而 WCF 将被抛在后面。你的答案站得住脚吗?
标签: silverlight wcf entity-framework wcf-ria-services