转载至http://www.yuanjiaocheng.net/webapi/create-web-api-proj.html
新建Web Api项目
在这里,您将学习如何使用Visual Studio创建一个新的ASP.Net Web API项目。
您可以使用两种方式创建一个Web API项目:
-
创建带MVC的Web API项目
-
创建独立的Web API项目
创建带MVC的Web API项目
Visual Studio 2013 for Web包括创建一个新的Web API项目并且带MVC的模板,它包含了所有必要的引用。
现在演示如何创建带MVC的Web API项目,打开Visual Studio 2013点击文件菜单,点击New Project。
这将打开创建新项目弹窗如下。

在弹出的新建项目窗口中,左侧选择:Visual C#=>Web,然后中间面板选择ASP.NET Web Application 模板,输入项目名称,点击OK。
这将打开新建ASP.NET项目的窗口。如下图:

在上面的弹窗中选择Web API。
注意,这个窗体中默认选择了MVC和Web API的复选框,这意味着它将添加MVC和Web API必要的文件夹和相关引用。
点击Ok来创建一个新的Web API + MVC项目如下所示。

这个项目是一个默认的MVC项目加两个为Web API准备的特定文件,在App_Start文件夹的WebApiConfig.cs
和Controllers 文件夹中的ValuesController cs。如下所示。

WebApiConfig.cs是Web API的配置文件,您可以配置web API路由和其他东西,跟MVC的RouteConfig相同。
它还默认创建了Web API控制器ValuesController.cs。
您将在下一节了解WebApiConfig和控制器。
因此,您可以用上面的方式创建带MVC功能的Web API项目。
创建独立的Web API项目
现在,我们将创建一个新的独立的Web API项目,它将没有MVC功能。
下面,打开Visual Studio 2013菜单,选择文件->新建项目。
这将打开新建项目弹窗如下。

在左窗格中选择Web,中间面板选择ASP.NET Web Application。
输入一个项目名称、位置和解决方案名称如上所示。
单击OK将打开一个弹出如下所示。

在上面的弹出,选择Empty作为一个模板,然后单击ok。
这将创建一个空的“HelloWebAPI”项目。
现在,我们需要使用NuGet包管理器添加最新的Web API引用。
右键单击项目,然后单击管理NuGet包. .
如下所示。

这将打开NuGet包管理弹窗。
左侧窗格中选择Online ,寻找webapi(确保互联网连接)。
这将显示所有的Web API相关的包。
选择Microsoft ASP.NET Web API2.2包并点击安装如下所示。

接受许可协议并继续。

接下来显示Web API包安装成功。

现在,在HelloWebAPI项目中创建控制器和配置文件夹如下所示。
我们将添加Web API控制器的控制器配置文件夹中的文件夹和配置类。

现在,在配置文件夹添加一个新的类并命名为“HelloWebAPIConfig”,然后加上下面的内容。
(你可以给任何合适的名称)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Http;namespace HelloWebAPI.Configuration{ public static class HelloWebAPIConfig { public static void Register(HttpConfiguration config) { // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } }} |
现在,添加Global.asax 通过右键单击project -> select Add -> click New Item..
打开添加新项弹窗如下。
选择 Global Application Class并单击OK。

这将增加Global.asax文件到这个项目中。
我们需要配置应用程序启动时Web API的路由。
需要在Global.asax文件的Application_Start函数中调用HelloWebAPIConfig.Register()方法。如下所示。
|
1
2
3
4
5
6
7
|
public class Global : System.Web.HttpApplication{ protected void Application_Start(object sender, EventArgs e) { GlobalConfiguration.Configure(HelloWebAPIConfig.Register); }} |
配置Web API只需要使用基于代码的配置GlobalConfiguration 类。
Configure()方法需要传入一个回调方法,在这里就是您配置Web API的地方。
因此,当应用程序启动,它将调用Application_Start事件,进而调用HelloWebAPIConfig.Register()方法来配置您的Web API。
现在,让我们通过右键单击Controller文件夹- >选择Controller。
这将打开弹窗如下。

左侧窗格中选择Web API,在中间窗格中选择Web API 2 Controller - Empty,单击Add。这将打开另一个弹窗如下。
输入控制器的名称,然后单击Add。

这将在控制器文件夹中创建空的HelloController类。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;namespace HelloWebAPI.Controller{ public class HelloController : ApiController { }} |
现在,我们需要添加操作方法。在这里,我们将添加简单的操作方法如下所示。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;namespace HelloWebAPI.Controller{ public class HelloController : ApiController { public string Get() { return "Hello World"; } }} |
现在,编译并运行项目并在浏览器中导航到http://localhost:xxxx/api/hello。
它将显示下面的结果。
(xxxx替换为您的本地端口号)

这样你可以从头创建一个简单的Web API配置和控制器类。