我们正在将程序化编程桌面应用程序中的ERP应用程序重建为基于Web的解决方案,并希望将Silverlight与WCF服务结合使用。现在,我们正在努力设计新的SL-App(仍处于规划/研究阶段)。我们试图解决的问题是Silverlight-Client与WCF或多或少的“紧密”绑定。
计划的设计如下所示:
DataStore(Oracle DB)< - > SubSonic / ORM< - > WCF< - >客户端
问题是,由于在VS2010中使用了“服务引用”,我们的实体,方法,WCF-Side上的集合的更改需要刷新客户端上的实体等等。我们尝试将服务引用外包到“Silverlight类库”(“代理项目”),以便客户端应用程序更松散地耦合到WCF,因为它只是引用代理项目和任何更改服务器端我们只需要刷新代理库并重新编译它。不幸的是,这不能按预期工作,因为在编译客户端时,编译器说类库是用错误的版本编译的,并且“询问”了2.0.5库。
那么与wcf结合使用的Silverlight应用程序可能是一个好的设计?如果是,是否可以“完全”将客户端与服务器端分离?
我们希望使用Prism4,MVVM和Unity构建我们的应用程序。由于我们在silverlight中没有如此特殊的知识,因此我们正在寻找一些最佳实践来实现具有大量复杂业务逻辑的大型Silverlight应用程序。