2009-06-03 201 views
11

我们正在创建一个n层Silverlight LOB应用程序,并正在考虑使用.NET RIA服务。我们不清楚这适合于我们当前的WCF服务API。我们目前的架构是:.NET RIA服务/ WCF服务

的Silverlight < - >WCF服务 < - >业务逻辑 < - >实体框架模型 < - >数据库

看着自己Nikhils Mix 09发布会,似乎.NET RIA Services将取代我们的WCF和BusLog部分:

Silverlight的 < - >RIA服务 < - >EF型号 < - >DB

这很好,期望我们需要有一个标准的SOAP API端点通过曝光使用其他应用程序(Biztalk,集成等)。 .NET RIA服务可以作为SOAP端点公开,而不需要异步要求?

通过.NET RIA服务实现WCF服务有多简单?你知道这有什么好的在线例子吗?

谢谢, 马克

回答

10

是 - 在对RIA服务我们将定义WCF服务(通过道夫和最终香草WCF)一些非常好的支持,暴露了RIA服务业务逻辑的下一个CTP。所以你的RIA服务实现中有两个头。

的Silverlight < ---> RIA服务< ---> EF型号< ---> DB WCF服务< --->

我会说这个模型是有道理的,如果首要目标是Silverlight应用程序,但是如果主要目标是WCF服务,我会与今天的模型挂在一起。这有帮助吗?

..brad

+0

谢谢布拉德,你的意见与我们正在做的一样。很遗憾,我们无法从.NET RIA Services公开WCF端点,因为我们需要一个服务API,但是通过WCF手动处理实体目前造成了很大的痛苦。马克 – 2009-06-05 15:28:36

0

我们正在查看完全相同的情况。现在,我们正在考虑用这种模式去:

的Silverlight < - > RIA服务< - > WCF服务< - >业务逻辑< - >实体框架模型< - >数据库

我们将能够在各种绑定中托管我们的WCF服务。我们将使用从RIA到Silverlight应用程序的WCF inProc调用。对于WCF服务的外部使用者,我们将使用wsHttp端点来托管它们。

因此在我们的场景中,我们得到了两者中最好的。 RIA服务成为我们应用程序的一组演示服务的一部分,从而减轻了编程Silverlight应用程序(即异步)的负担。缺点是我们添加了一个额外的图层。

想法?

+0

我会说实话,我不认为这是一个好主意。把RIA服务放在你的WCF服务上,当你经过WCF层时,你将失去EF模型的所有好处,所以你将在断开连接的对象和代理对象之上构建你的.NET RIA服务特定的服务,因此与使用它们的其他服务不兼容。 – 2009-06-07 14:37:36