Httpclient()发送异步POST请求时的异常问题

qq_22216299 2017-02-20 04:33:57
使用Httpclient()发送POST 请求以获得Token,部分程序如下:
    
public async Task<string> GetAccessTokenAsync()
{
if (SubscriptionKey == string.Empty) return string.Empty;

// Re-use the cached token if there is one.
if ((DateTime.Now - storedTokenTime) < TokenCacheDuration)
{
return storedTokenValue;
}

using (var client = new HttpClient())
using (var request = new HttpRequestMessage())
{
request.Method = HttpMethod.Post;
request.RequestUri = ServiceUrl;
request.Content = new StringContent(string.Empty);
request.Headers.TryAddWithoutValidation(OcpApimSubscriptionKeyHeader, this.SubscriptionKey);
client.Timeout = TimeSpan.FromSeconds(2);

var response = await client.SendAsync(request);
this.RequestStatusCode = response.StatusCode;
response.EnsureSuccessStatusCode();
var token = await response.Content.ReadAsStringAsync();
storedTokenTime = DateTime.Now;
storedTokenValue = "Bearer " + token;
return storedTokenValue;
}
}

在调试过程中,发现程序运行到
var response = await client.SendAsync(request);时,就不能往下继续运行,过程中既没有错误也没有其他消息显示。
本人菜鸟,已经被这个问题弄得焦头烂额了两周了,盼请大牛指教。
...全文
1460 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
by_封爱 版主 2020-06-12
  • 打赏
  • 举报
回复
我一直不太清楚 异步的http的意义... 你获取token 最终也是要再一次去请求其他接口. 在调用的人来说. 也是等待. 感觉没什么用啊...
qq_40656928 2020-06-11
  • 打赏
  • 举报
回复
请问一下,解决了没?我的请求也是到了await然后线程就被阻塞了
打老虎zz 2017-07-31
  • 打赏
  • 举报
回复
引用 5 楼 Fresochoi 的回复:
[quote=引用 4 楼 woainixinxin521 的回复:] try catch
try catch 没用 直接闪退 没有任何exception[/quote] 怎么直接闪退 不明白
Fresochoi 2017-07-31
  • 打赏
  • 举报
回复
引用 4 楼 woainixinxin521 的回复:
try catch
try catch 没用 直接闪退 没有任何exception
打老虎zz 2017-07-31
  • 打赏
  • 举报
回复
try catch
Fresochoi 2017-07-31
  • 打赏
  • 举报
回复
楼主解决了吗?我也遇到了同样的问题。
qq_22216299 2017-02-20
  • 打赏
  • 举报
回复
引用 1 楼 Poopaye的回复:
await 后面的代码也是要等SendAsync成功了才会执行啊
那么就是一直不成功?那么请问怎么查看问题出在哪里?大概可能的问题是什么?
Poopaye 2017-02-20
  • 打赏
  • 举报
回复
await 后面的代码也是要等SendAsync成功了才会执行啊

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧