安装WebAPI客户端库右键单击项目,选择管理NuGet程序包,选择联机选项,选择全部,在搜索框中输入“Microsoft.AspNet.WebApi.Client”,搜索结果就是 安装Web API客户端库 右键单击项目,选择管
安装Web API客户端库
右键单击项目,选择管理 NuGet程序包,选择联机选项,选择全部,在搜索框中输入“Microsoft.AspNet.WebApi.Client”,
搜索结果就是要安装的类库,单击安装到完成。NuGet会自动添加引用
需要引入的命名空间:
using System.Net.Http;using System.Net.Http.Headers;
Get调用
HttpClient初始化 HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:9000/"); // Add an Accept header for JSON format. // 为JSON格式添加一个Accept报头 client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var respOnse= client.GetAsync("api/GetEmployees").Result; //转换为同步方法response 中可以直接拿到http请求状态。
if (response.IsSuccessStatusCode) //请求成功{ //从方法名中可以看出是异步调用,取Result后,就变成同步了, var results = response.Content.ReadAsAsync
Post调用
using System.Net.Http;using System.Net.Http.Headers;//api 为 http://localhost:8000/Employee/Update //传入参数 name,age,sex HttpClient client = new HttpClient(); public override bool SendMessage() { client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var paras= new { name ="", age =10,sex="男" }; try { var respOnse= client.PostAsJsonAsync(" http://localhost:8000/Employee/Update", paras).Result; //如果调用失败,抛出异常 response.EnsureSuccessStatusCode(); if (response.IsSuccessStatusCode) { var result = response.Content.ReadAsStringAsync(); //result.Result 是一个json字符串,解析后就可以拿到调用后的返回值 return false; } else { return false; } } catch (Exception ex) { return false; } return true; }put,和delete方法调用同post类似,在此不再介绍。