У меня есть следующая часть кода:Не получив ответа после PostAsync
using (var client = new HttpClient()) // from Windows.Web.Http;
{
//setup client
var tokenUri = new Uri(apiBaseUri + "/token");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new HttpMediaTypeWithQualityHeaderValue("application/json"));
//setup login data
IHttpContent formContent = new HttpFormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("grant_type", "password"),
new KeyValuePair<string, string>("username", userName),
new KeyValuePair<string, string>("password", password),
});
//send request
HttpResponseMessage responseMessage = await client.PostAsync(tokenUri, formContent);
//get access token from response body
var responseJson = await responseMessage.Content.ReadAsStringAsync();
var jObject = JObject.Parse(responseJson);
return jObject.GetValue("access_token").ToString();
}
Это делает вызов на мой веб-Апи. Я проверил, действительно ли он работает с скрипачом - в результате я могу видеть ответ, который я вижу (маркер Bearer). Но в коде этот ответ так и не был получен.
В чем проблема?
Что вы имеете в виду, responseMessage является нулевым? –
@AndyWiesendanger, ничего ... Может быть, я должен установить некоторый тайм-аут, чтобы быть уверенным, но я жду много времени и ничего не происходит – demo
Как вы называете этот метод? Вы блокируете его с помощью 'Task.Result'? –