为什么每个新的asp.net mvc 4项目模板都基于WebApi Controller

时间:2013-02-01 20:53:52

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

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

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

为什么他们这样做?

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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