将现有Web表单应用程序迁移到ASP.Net MVC单页面应用程序

时间:2014-01-01 15:54:20

标签: asp.net asp.net-mvc asp.net-web-api durandal asp.net-spa

我有一个用ASP.Net WebForms和Silverlight构建的应用程序。 还有另一个WCF服务应用程序,可以通过我的应用程序的silverlight部分访问。

现在我必须在MVC单页面应用程序(SPA)中创建整个应用程序,当然还有WCF,因为现在我需要Web API。

首先想到的解决方案是将web api项目添加到wcf服务应用程序中,并开始在那里创建Web方法,如果已经存在该功能,则从那里调用wcf方法。

对于webform从头开始创建一个带有mvc项目的新spa,并使用durandal或任何其他spa客户端框架(编码的地狱)。

任何有用的解决方案/建议?因为我在寻找简单。

我搜索了一些问题但found但实际上没有帮助,因为它们与现有应用程序合并。

注意:应用程序是一个具有大量功能的大型应用程序

1 个答案:

答案 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有很好的数据绑定培训。