自从我阅读和研究几天以来,我们仍然在努力创造完美的基础设施。由于没有这样的Prism 4.0模板,我提出了一个策略,但我需要确定这是正确的策略,我希望得到经验丰富的PRISM / RIA开发人员的建议。
我使用的是PRISM 4.0,RIA Services 1.0 Sp1 Beta,Silverlight 4.0,Entity Framework 4.0
1)客户端
我首先创建了一个“Silverlight业务应用程序”,它创建了一个Web.host和一个实现了RIA授权的Silverlight客户端应用程序。最初创建的Silverlight客户端应用程序应用作Shell项目。
2)基础设施项目(通用)
该项目将包含一些常见的Prism MEF属性,也可能包含RIA自动生成的实体模型以及服务接口。我们的想法是创建一个简单的Silverlight类库,在项目的属性下,我会选择下拉列表'WCF Ria Services Link'指向包含Ria Services的host.Web项目。然后在重建之后,我能够看到类库中的实体模型,然后可以在棱镜模块之间共享它们以提供它们的ViewModel等。
3)服务层
我应该在Web.host项目上创建EF4模型并在那里添加域服务吗?然后我将从域服务中提取一个接口,并将该接口放入Infrastructure(Common)项目中。因此,Web.Host需要引用Infrastructure(common)项目来访问该接口。在客户端,MEF可以使用该接口来检索或模拟服务。但是,我担心引用包含客户端生成的实体的公共项目的服务。
4)授权
还有点担心授权,我应该把所有内容都留在Shell项目上吗?或者我是否必须将任何内容移动到基础架构(通用)项目以进行共享?
由于这是我第一次使用PRISM进行设计,我可能会误解或遗忘某些方面。请随时改进我的建议。
非常感谢您的帮助
卡瓦
答案 0 :(得分:1)
经过两周的激烈研究,这个博客无法更好地融合在一起: http://blogs.msdn.com/b/dphill/archive/2009/08/17/prism-and-net-ria-services.aspx
答案 1 :(得分:0)
Prism有很好的快速入门模板,我在博客http://blogs.msdn.com/b/dphill找到它,所以它看起来很不错,我用它也创建了RIA服务库,所以现在一切都是分开的:
1)WEb项目 2)网络上的Ria服务 3)生成RiaService客户端代码作为单独的共享程序集,并由模块使用。而已。