За последние пару часов я пробовал много разных подходов, но мой вызов метода зависает.
Вот мой код веб-API, который прекрасно работает при выполнении AJAX-вызова от клиента MVC, но я пытаюсь проверить вызов с сервера:
// GET api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
Ниже мой MVCкод контроллера и код модели:
public async Task<ActionResult> TestApi()
{
try
{
var result = await VoipModels.GetValues();
return MVCUtils.JsonContent(result);
}
catch (Exception ex)
{
return MVCUtils.HandleError(ex);
}
}
...
public static async Task<string[]> GetValues()
{
string[] result = null;
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:44305/api/");
//THIS IS THE LINE THAT HANGS UP - I'VE TRIED MANY VARIATIONS
var response = await client.GetAsync("values", HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false);
if (response.IsSuccessStatusCode)
{
result = await response.Content.ReadAsAsync<string[]>();
}
else
{
throw new Exception(response.ReasonPhrase);
}
}
return result;
}
Я успешно использовал этот формат при вызове отдельного стороннего API.У меня закончились примеры, чтобы попробовать свои пару часов поиска в Google.
Что я здесь не так делаю?