Silverlight,WCF,MVVM和现有的n层程序集

时间:2010-12-03 15:38:38

标签: wcf mvvm silverlight-4.0 entity-framework-4

我试图了解Silverlight中的MVVM - 主要是在我如何将其融入现有架构的背景下 - 或者更确切地说我如何将现有架构合并到其中。

我目前拥有的架构基本上是传统的n层,顶层有服务层。我在WCF中有一个服务层,一个用于业务逻辑的程序集和一个包含业务实体(实体框架)的程序集。

WCF中的服务层非常简单,只是暴露了业务逻辑层,需要进行一些更改才能使其与Silverlight更兼容。业务实体程序集由服务层和逻辑层引用,因此它们都使用相同的实体,而使用该服务的任何内容也都知道这些实体。

一切都是好的。

随之而来的是Silverlight和MVVM。 View部分很简单,就是所有ui的东西。 ViewModel和Model是我感兴趣的地方。在我看来,Model是我的业务实体程序集,ViewModel是我的业务逻辑程序集。

如果Silverlight使用我的WCF服务,那么这个和耦合的业务逻辑层肯定是我的ViewModel。现在我有两个问题; 1 / ViewModel对象需要存在于我的Silverlight项目中。 2 / WCF服务公开的类型(业务实体)与Silverlight不兼容,因为程序集不适用于Silverlight。当我尝试添加程序集作为参考时,提示此效果的异常。

那么......我如何使用我的业务实体作为我的模型?另外 - 如何在我的ViewModel中使用其他.Net类型,如System.ServiceProcess.ServiceController?

1 个答案:

答案 0 :(得分:0)

我认为你应该看看WCF RIA服务。

https://www.silverlight.net/getstarted/riaservices/