1

我们正在构建一个完整的客户端应用程序,其中数据来自通过 ASP.Net WebAPI 交付的 REST API。对于客户端应用程序,使用 MVC 仍然有意义吗?

4

3 回答 3

2

我认为即使对于单页应用程序(SPA) ,使用 MVC 仍然有优势。一些优点是内置的身份验证/授权、路由、渲染初始页面的方式更加灵活、如果 Web API 和 MVC 在同一个项目中,则消除了 AJAX 的跨域问题等等。

对 SPA 和 ASP.NET MVC 非常了解的人是 John Papa。查看他的一篇关于可用于 SPA 的新 VS 模板的博客文章。John Papa 在他的博客上提供了很多关于使用 ASP.NET MVC 开发 SPA 的有用技巧,并且他在 Pluralsight 上有一个很棒的培训课程。是的,他将 MVC 与 Web API 结合使用。它们被设计为一起使用。

于 2012-12-11T15:25:43.503 回答
1

首先让我们记住 ASP.NET MVC 和 ASP.NET Web API 的用途。ASP.NET MVC 的主要目的是为您提供一个现成的 HTML。另一方面,ASP.NET Web API 的主要目的是为您提供数据。

因此,在我看来,在以下情况下,您可以同时使用 ASP.NET MVC 和 ASP.NET Web API:

  1. 已经准备好使用复杂的 ASP.NET MVC 控件并希望重用它。
  2. 有一个复杂的逻辑来处理一些数据,因此对于性能问题,最好在服务器端处理它。
  3. 您必须使用一些特定的基于服务器的 ASP.NET 功能,例如 Http 处理程序、文件上传等。
于 2012-12-11T07:00:48.137 回答
1

本质上你不需要 MVC。听起来您想创建一个单页应用程序。您所需要的只是一个 index.html 来加载您的 app.js,然后就可以使用了。

MVC 不会增加任何额外的价值。

即使涉及到复杂的场景,您也可以创建更高级的 Web Api 方法来为您的应用程序提供服务。您不限于开箱即用的基本 CRUD WebApi 方法。

你甚至可以在 api 控制器周围放置 ActionFilters 和 DelegatingHandlers 之类的东西,以处理错误、元数据和各种事情。

于 2012-12-11T07:21:39.967 回答