У меня есть веб-интерфейс https://itcportalapi.azurewebsites.net/portal/api/User/GetSecurityQuestions
, который размещен в веб-приложении Azure.Теперь он работает в простом режиме вызова через браузер и почтальон.но это не работает через HTTP-вызов async.
Remort сервер отладки, но та же проблема.ранее в каком-то другом аккаунте Azure работал такой же код.тот же код веб-API, работающий на локальном компьютере, может использовать c # HTTP для получения асинхронного кода.
public static async Task<string> ApiRequest(string url)
{
HttpResponseMessage responseMessage = null;
string responseObj = string.Empty;
using (HttpClient client = new HttpClient())
{
try
{
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(Constants.JSONContentType));
responseMessage = await client.GetAsync(url);
if (responseMessage.IsSuccessStatusCode)
{
responseObj = responseMessage.Content.ReadAsStringAsync().Result;
}
else
{
log.Error("ApiRequest -the current request URL " + url + " and Status Code:" + responseMessage.StatusCode + responseMessage.ReasonPhrase);
}
}
catch (Exception ex)
{
log.Error("ApiRequest:" + ex.Message + ex.StackTrace);
}
return responseObj;
}
}
public async Task<ActionResult> ForgotPassword()
{
UserSecurityQuestion model = new Models.UserSecurityQuestion();
model.SQuestions = await this.GetSecurityQuestions();
return View(model);
}
, за исключением следующего исключения, которое размещено в веб-приложении Azure.Теперь он работает в простом режиме вызова через браузер и почтальон.но он не работает через HTTP-асинхронный вызов get.