我有一个用ASP.Net WebForms和Silverlight构建的应用程序。 还有另一个WCF服务应用程序,可以通过我的应用程序的silverlight部分访问。
现在我必须在MVC单页面应用程序(SPA)中创建整个应用程序,当然还有WCF,因为现在我需要Web API。
首先想到的解决方案是将web api项目添加到wcf服务应用程序中,并开始在那里创建Web方法,如果已经存在该功能,则从那里调用wcf方法。
对于webform从头开始创建一个带有mvc项目的新spa,并使用durandal或任何其他spa客户端框架(编码的地狱)。
任何有用的解决方案/建议?因为我在寻找简单。
我搜索了一些问题但found但实际上没有帮助,因为它们与现有应用程序合并。
注意:应用程序是一个具有大量功能的大型应用程序
答案 0 :(得分:3)
您必须决定您的团队对客户端框架的信心。单页应用程序的开发在一开始可能并不容易,但您将很快习惯它。为您的团队提供正确的培训非常重要。
在我看来,Durandal是构建企业级SPA的最简单,最优雅和完整的框架。重要的是要知道淘汰赛,要求和durandal的路由器和组合是如何工作的。对于以数据为中心的应用程序,我会使用breezejs在客户端操作和缓存数据,并从服务器端请求它。 Breeze最适合服务器端的Entity Framework,但没有必要。如果您可以使用Entity Framework,它将简化您的开发,因为它可以为breeze生成数据库结构的元数据。如果不能选择实体框架,则可以手动编写元数据。
我会让服务器端尽可能地薄。使用您选择的ORM和一些cshtml页面的web api从您的数据库中提供数据。
Durandal Get Started是一个很好的起点。
Durandal Auth是企业级SPA的一个非常好的模板。它可能不完全适合您,但您可以将其用作构建应用程序的不同模块的指南。
Breeze samples我建议你考虑使用微风。在复数视频上有很好的课程。
Knockoutjs有很好的数据绑定培训。