asp.net - 将现有的 Web 表单应用程序迁移到 ASP.Net MVC 单页应用程序

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

我有一个内置在 ASP.Net WebForms 和 Silverlight 中的应用程序。
我的应用程序的 silverlight 部分可以访问另一个 WCF 服务应用程序。

现在我必须在 MVC 单页应用程序(SPA)和 WCF 中重新创建整个应用程序,因为现在我需要 Web API。

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

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

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

我四处搜寻 found一些问题,但实际上并没有帮助,因为它们是关于与现有应用程序合并的。

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

最佳答案

您必须确定您的团队对客户端框架的信心。单页应用程序的开发一开始可能并不容易,但您很快就会习惯。为您的团队提供正确的培训非常重要。

在我看来,Durandal 是构建企业级 SPA 的最简单、最优雅和最完整的框架。了解淘汰赛、requre 和 durandal 的路由器和组合如何工作非常重要。对于以数据为中心的应用程序,我会使用微风在客户端操作和缓存数据,并从服务器端请求它。 Breeze 在服务器端与 Entity Framework 配合使用效果最好,但这不是必需的。如果您可以使用 Entity Framework,它将简化您的开发,因为它可以轻松地生成数据库结构的元数据。如果 Entity Framework 不是一个选项,则可以手动编写元数据。

我会让服务器端尽可能薄。使用带有您选择的 ORM 和一些 cshtml 页面的 web api 从您的数据库中提供数据。

Durandal Get Started是一个很好的起点。

Durandal Auth是一个非常好的企业级SPA模板。它可能并不完全适合您,但您可以将其用作构建应用程序不同模块的指导。

Breeze samples我建议你考虑使用微风。有很多关于复数视力的好类(class)。

Knockoutjs在数据绑定(bind)方面有很好的培训。

关于asp.net - 将现有的 Web 表单应用程序迁移到 ASP.Net MVC 单页应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20870355/

相关文章:

jquery - 当用户控件通过 JQuery ajax 调用异步加载并多次加载时,Ajax 控件已停止工作

c# - 通过代码创建文件夹时出错

javascript - Breeze 部分初始化器

html - 如何在 Razor View 中将 div float 到两侧

asp.net-mvc - 在 ASP.net MVC 中的控制操作中返回序列化的 AMF 对象

asp.net - 如何建立评论页面?

javascript - 单击一次后禁用按钮

c# - 具有相同动词和不同路由的 Azure API App 多个操作会产生 swagger 错误

c# - 从 HttpResponseException 中提取 HttpError

c# - 如何将默认 Web API 2 更改为 JSON 格式化程序?