图解一个ASP.NET Web API示例
1、首先创建一个空的Web项目,注意是Empty,而非Web API,如下图所示:

2、注意这里一定要引入如下DLL,如下图所示:Json.NETSystem.NET.HttpSystem.Web.HttpSystem.Web.Http.WebHost


3、大体的目录是这样的,没有明确规定,大家可自行拟定目录,如下图所示:

4、首先创建一个WebApiConfig的配置文件,这里名称可自行拟定,主要用来定义Web API的路由,如下图所示:详细代码如下:namespace Ryan4_WebAPI_Application_01{ public class WebApiConcifg { public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); } }}


5、接下来必须要创建一个asax文件,来注册这个定义的API Route,如下图所示:

6、在Application_Start中加入如下代码,有了这句后方能在程序运行后使用掳姗浚瑙Web API方式定位你的控制器和方法,如下代码所示: protected void Application_Start(object sender, EventArgs e) { Web_API_Config.Register(GlobalConfiguration.Configuration); } protected void Session_Start(object sender, EventArgs e) { } protected void Application_BeginRequest(object sender, EventArgs e) { } protected void Application_AuthenticateRequest(object sender, EventArgs e) { } protected void Application_Error(object sender, EventArgs e) { } protected void Session_End(object sender, EventArgs e) { } protected void Application_End(object sender, EventArgs e) { } }

7、创建数据实体Users.cs,如下图所示:namespace Ryan4_WebAPI_Application_01.Model.Entities{ public class Users { public int Id { get; set; } public string UName { get; set; } public string UPass { get; set; } public int UAge { get; set; } public string UAddress { get; set; } }}


8、创建控制器:UserController.cs,如下图所示:namespace Ryan4_WebAPI_帆歌达缒Application_01.Controller{ public class UserController : ApiController { public List<Users> GetUser() { var userList = new List<Users> { new Users { Id = 1, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"}, new Users { Id = 2, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"}, new Users { Id = 3, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"}, new Users { Id = 4, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"}, new Users { Id = 5, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"}, new Users { Id = 6, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"}, new Users { Id = 7, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"}, new Users { Id = 8, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"}, new Users { Id = 9, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"}, }; var temp = (from u in userList select u).ToList(); return temp; } }}


9、最后F5调试项目,输入localhost:5381/api/user/getuser,如下图所示:
