HttpClient _httpClient = new HttpClient();
var clientId = Config.GetValue("AuthUser");
var clientSecret = Config.GetValue("AuthPass"); var apiHost = Config.GetValue("ApiHost");
_httpClient.BaseAddress = new Uri(apiHost); var parameters = new Dictionary<string, string>();
parameters.Add("grant_type", "password");
parameters.Add("username", account);
parameters.Add("password", password); _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes(clientId + ":" + clientSecret))
); var response = await _httpClient.PostAsync("/token", new FormUrlEncodedContent(parameters));
var responseValue = await response.Content.ReadAsStringAsync();
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
var access_token = JObject.Parse(responseValue)["access_token"].Value<string>();
return new TokenResult() { Message = "ok", access_token = access_token };
//return JObject.Parse(responseValue)["access_token"].Value<string>();
}
else
{
var modelstate = JObject.Parse(responseValue)["ModelState"][].Value<string>();
return new TokenResult() { Message = modelstate };
} //string url = Config.GetValue("ApiHost") + "/token";
////设置HttpClientHandler的AutomaticDecompression
//var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
////创建HttpClient(注意传入HttpClientHandler)
//using (var http = new HttpClient(handler))
//{
// //使用FormUrlEncodedContent做HttpContent
// var content = new FormUrlEncodedContent(new Dictionary<string, string>()
// {
// {"grant_type", "password"},//键名必须为空
// { "username", account},
// {"password", password },
// }); // //await异步等待回应 // var response = await http.PostAsync(url, content);
// //确保HTTP成功状态值
// response.EnsureSuccessStatusCode();
// //await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
// var responseValue = await response.Content.ReadAsStringAsync();
// if (response.StatusCode == System.Net.HttpStatusCode.OK)
// {
// return JObject.Parse(responseValue)["access_token"].Value<string>();
// }
// else
// {
// return string.Empty;
// }
//}

VS2015 正式版中为什么没有了函数前面引用提示了?的更多相关文章

  1. 把 MWeb Lite 的文档库文档和数据搬到 MWeb 正式版中

    MWeb Lite 版的文档库中的文档要搬到 MWeb 正式版中,如果 Lite 版的文档中没有图片或者只有少量图片,可以用导入导出为 Markdown 的方法. 否则的话请用以下方式(注意下面这个方 ...

  2. 体验VS2015正式版

    初次体验VS2015正式版,安装详细过程.   阅读目录 介绍 安装 介绍    纽约时间7月20日,微软发布了vs 2015 正式版,换算到我们的北京时间就是晚上了,今天回到家里,就下下来了,装上去 ...

  3. 初次体验VS2015正式版,安装详细过程。

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 安装 其他 本文版权归mephi ...

  4. 【VS2015正式版下载】Visual Studio 2015 正式版开放下载 Visual Studio 2015 神key

    说明: 微软定于2015年7月20日发布Visual Studio 2015正式版,目前其官方网站已经提供正式版本的下载. 可在https://www.visualstudio.com/en-us/d ...

  5. javascript 在一个函数参数中包含另一个函数的引用

    javascript函数的参数包含另一个函数的情形: <script> //b函数的参数func为另一个函数 function b(a, func) {  alert(a); //调用参数 ...

  6. Win10年度更新开发必备:VS2015 正式版下载汇总

    ============================================================================ 微软在07月20日发布了Visual Stud ...

  7. vue echarts中绑定的click函数无法引用vue实例data里面的数据

    在使用echarts的时候,需要在触发click事件之后去修改实例data里面的数据,可是发现用this引用后总是出现undefined, 解决办法: myChart.on('click', (par ...

  8. 微软vs2015先行,Visual Studio 2015正式版离线iso及在线下载(附key)附带百度云盘地址

    win10正式版发布之前我们迎来了vs2015正式版,迫不及待要下载朋友可以看看 Visual Studio Community 2015简体中文版(社区版,针对个人免费): 在线安装exe:http ...

  9. web appbuilder 正式版用yo esri-appbuilder-js:widget生成widget读取不到config解决方案

           对于在webappBuilder正式版中,如果用yo esri-appbuilder-js:widget生成的widget,在写widget的时候widget里面的config.json ...

随机推荐

  1. mklink让网盘同步不同文件夹

    mklink简介 Linux 下有一个叫符号链接的东东,是 ln 这个链接命令,mklink 和 ln 的功能几乎一样.在xp系统下,junction命令要用微软开发的小程序 junction.exe ...

  2. mysql文件目录详解 LINUX

    http://www.cnblogs.com/yjf512/archive/2012/12/11/2813398.html

  3. c++中两个类相互包含引用的相关问题

    在构造自己的类时,可能会遇到两个类相互引用的问题. 例如: class A { int i; B b; }; class B { int i; A a; }; 在这种情况下,这样就会出现一个死循环a. ...

  4. html圆形头像的制作

    <html> <head><title>圆形头像的制作</title> <style type="text/css">. ...

  5. 更改Mantis的logo

    1 准备好自己的logo,例如准备的logo为zhaoxiyu.gif.zxy.gif 2 把上面的两个logo存放到C:/mantis-1.0.0a3/images 3 打开C:/mantis-1. ...

  6. Intel® Core™ i5-5300U Processor

    3M Cache, up to 2.90 GHz Specifications Ordering and Compliance Essentials     Product Collection 5t ...

  7. 莫比乌斯函数&莫比乌斯反演

    莫比乌斯函数:http://wenku.baidu.com/view/fbec9c63ba1aa8114431d9ac.html Orz  PoPoQQQ

  8. HDU 3910 (13.10.31)

    Description Maybe you know “San Guo Sha”, but I guess you didn’t hear the game: “Liang Guo Sha”! Let ...

  9. Handler Thread 内部类引起内存泄露分析

    非静态内部类引起内存泄漏的原因 内部类的实现其实是通过编译器的语法糖(Syntactic sugar)实现的,通过生成相应的子类即以OutClassName$InteriorClassName命名的C ...

  10. 10 款基于 jQuery 的切换效果插件推荐

    本文整理了 10 款非常好用的 jQuery 切换效果插件,包括平滑切换和重叠动画等,这些插件可以实现不同元素之间的动态切换. 1. InnerFade 这是一个基于 jQuery 的小插件,可以实现 ...