我正在使用Visual Studio 2012中的MVC4。从VS项目模板创建Web API项目时,向导对话框显示仅Razor View 引擎是可选择的。我的问题是为什么Web API项目需要View,然后为什么只使用Razor?我试图将API Controller 添加到Razor和ASPX引擎Web应用程序中,结果显示两者都可以工作。那么,这是Web API项目模板的问题吗?
最佳答案
ASP.NET MVC和Web API基于ASP.NET,但是它们没有集成在一起。因此,在制作ASP.NET或ASP.NET MVC项目时,可以像使用WCF一样使用WebAPI。但是,在创建WebAPI项目时,不应没有任何理由依赖ASP.NET,而应允许应用程序是自托管的。
新的ASP.NET MVC项目可以同时使用Razor和WebForms进行页面渲染,并且作为ASP.NET Web应用程序托管。
新的Web API项目不需要ASP.NET或WebForms,也不必作为ASP.NET应用程序托管。它甚至不需要Razor,因为它不需要 View 引擎,但是项目模板使新手程序员只需单击几下即可拥有一个“仅运行”项目,然后显示帮助页面。因此,您不需要Razor和you can self host a Web API application。