【发布时间】:2019-12-28 10:28:47
【问题描述】:
我正在尝试使用以下代码调用 API。
static async Task<string> GetData(string url, string token)
{
string result = null;
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
using (var client = new HttpClient())
{
if (!string.IsNullOrWhiteSpace(token))
{
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
}
try
{
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
result = await response.Content.ReadAsStringAsync();
}
}
catch (Exception ex)
{
return null;
}
return result;
}
}
这样调用方法
var getData = GetData("<api-url>", token.access_token);
我收到Status = WaitingForActivation
有没有人可以帮助我在这里做错了什么。我试图找到解决方案,我能够在没有 asyn 方法的情况下获得结果,但我找不到使用 asynmethod 的任何解决方案。
任何帮助或建议将不胜感激。
提前致谢
【问题讨论】:
-
我没完全理解这个问题。是这样称呼的吗? var getData = await GetData("
", token.access_token); -
@phonemyatt 抱歉,我忘记更改调用方法了。是的,它被称为 var getData = await GetData("
", token.access_token);但我得到了 Status = WaitingForActivation -
这是哪个状态,任务状态?
标签: c# rest api oauth-2.0 async-await