Web API中的MVC在哪里?

时间:2014-05-22 12:29:57

标签: c# .net asp.net-mvc asp.net-web-api asp.net-mvc-5

我试图抓住WebAPI所以请原谅这个问题是否太天真无法提问。

听说WebAPI正在使用MVC并已整合到其中。

刚刚创建了一个示例WebAPI项目,但在References下我找不到System.Web.Mvc dll。

为什么呢?或者我错过了什么重要的东西?

编辑:

关于System.Web.Mvcthe MSDN says the following paragraph

  

System.Web.Mvc命名空间包含支持用于创建Web应用程序的ASP.NET模型视图控制器(MVC)框架的类和接口。此命名空间包括表示控制器,控制器工厂,操作结果,视图,部分视图,模型绑定器等的类。

2 个答案:

答案 0 :(得分:3)

它不应该存在。 ASP.NET Web API与MVC非常相似,buit没有与它集成或者其他任何东西。 Web API可以完全不受MVC框架的影响。哪个好 - 在构建HTTP服务时,您不希望在项目中包含任何HTML呈现功能。

可以这样想 - System.Web.Mvc包含MVC使用的面向最终用户的功能,如视图,查看结果。 WebAPI不是面向最终用户的东西,它不会生成HTML或运行javascript。 Web API的目的是提供创建HTTP服务的方法 - 与MVC框架非常不同。

MVC和Web API共享几种类似的方法。以控制器为例。看起来它们在两个框架中的行为相似。但是,您可能会发现实现方式不同。 MVC使用System.Web.Mvc.Controller,而Web API使用System.Web.Http.ApiController。关于原因here的更详细解释。另一方面 - 路由。两个框架都使用相同的路由实现,它位于System.Web.Routing

框架类似,但可以完全分开存在。这就是他们之间没有参考的原因。

答案 1 :(得分:0)

对于Visual Studio Express 2013 for Web,请执行以下操作:

New Project > Web > ASP.NET Web Application > Web API > OK

这应该有用,Add folders and core references for: MVC and Web API应该由VS自动勾选。

100%工作 - 我刚刚创建了一个项目,所有参考文献都在那里。