安装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<IEnumerable<Employee>>().Result;
foreach (var p in results)
{
Console.WriteLine("{0}\t{1};\t{2}", p.Name, p.Age, p.Sex);
}
}
else
{
Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
}

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 =,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类似,在此不再介绍。

最新文章

  1. thinkphp在模型中自动完成session赋值
  2. Win7 64位命令行编译cuda及设置Windows显卡响应时间
  3. ajax教程完整版
  4. Best practice: escape, or encodeURI / encodeURIComponent
  5. mysql基本sql语句大全(提升用语篇)
  6. kuangbin_ShortPath N (POJ 1847)
  7. caffe: test code 执行出问题: Check failed: FLAGS_weights.size() &gt; 0 (0 vs. 0) Need model weights to score.
  8. 四.CSS声明
  9. placeholder
  10. 2014年度辛星解读css第四节
  11. Cocos2d-X中的坐标系
  12. redhat6.4下安装Oracle11g
  13. 空a标签 a标签空的情况下 IE6 IE7下点击无效
  14. Mac下安装多版本python
  15. WPF window 子窗口反馈效果(抖动/阴影渐变)
  16. Python3学习之路~5.10 PyYAML模块
  17. 拉普拉斯平滑处理 Laplace Smoothing
  18. PHP:第四章——PHP数组处理函数
  19. XE4 TStringDynArray 比 c6 的TStringList 好用 字符串 分解 分割 转换 TByteDynArray
  20. SQL CAST与CONVERT区别

热门文章

  1. 【置换群/模拟】NOIP2005-篝火晚会
  2. 【树状数组逆序对】USACO.2011JAN-Above the median
  3. json,xml,html三种数据格式
  4. 广义线性模型(logistic和softmax)
  5. 8VC Venture Cup 2016 - Elimination Round F. Group Projects dp
  6. hibernate处理视图问题(记录)
  7. opencv中SiftDescriptorExtractor所做的SIFT特征向量提取工作简单分析
  8. 查看Ubuntu服务器的版本信息
  9. 用latex写毕业论文
  10. iOS:时间格式化(标准时间转为时间戳、时间戳转为标准时间、时间戳转为日期)