当我创建一个新的ASP.NET MVC 4.0项目时,例如单页应用程序或移动等...它们都具有继承自ApiController的Controller类。
我不需要向其他人公开Web服务。如果登录,我只想运行一个带有私有Web应用程序的公共网站。我不想要ApiController,但我想要一个单页应用程序。
为什么他们这样做?
答案 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调用。