1

当我创建一个新的 ASP.NET MVC 4.0 项目时,例如单页应用程序或移动设备等......它们都有从 ApiController 继承的控制器类。

我不需要向其他人公开 Web 服务。如果登录,我只想运行一个带有私有 Web 应用程序的公共网站。我不想要 ApiController,但我想要一个单页应用程序。

他们为什么这样做?

4

3 回答 3

2

WebApi 并不一定意味着您正在为其他人创建 Web 服务。相反,当您开发单页应用程序时,您将使用 WebApi 控制器来处理通过 ajax 获取/发布数据。

没有什么可以阻止您使用常规控制器,但 WebApi 非常适合 SPA。请参阅使用此技术的任何在线教程。

于 2013-02-01T20:59:44.183 回答
0

听起来您想使用Internet 应用程序项目模板创建一个 Mvc4 Web 应用程序。此模板使用表单身份验证并创建从System.Web.Mvc.Controller. 如果您使用的是 Visual Studio 2012,则安装此模板(连同其他一些模板,包括 Api Web 模板)。

于 2013-02-01T21:10:53.270 回答
0

右键单击您的控制器文件夹 -> 添加 -> 控制器,然后从模板下拉列表中选择一个 MVC 控制器。您不必使用 API 控制器。

如果您想到 SPA 是什么,它本质上是一个 HTML 页面,它使用 JavaScript 从 WebAPI 或其他一些 Web 服务获取数据。正如 Bort 所说,Web API 调用非常适合 SPA。

就个人而言,对于单页应用程序,在他们在 Update 1 中添加 SPA 模板之前,我只需创建一个静态 .html 页面并对我的 WebAPI 控制器进行 RESTful 调用。

于 2013-02-01T21:12:13.793 回答