У меня есть следующий метод в Xamarin, который выполняет вызов API, который возвращает список элементов. Когда я запускаю Visual Studio и запускаю, она возвращает строку JSON с информацией, которую я ожидаю. Однако, когда я запускаю его несколько раз, и чаще всего он попадает в строку, возвращаемую Json = await client.GetStringAsyn c, то строка просто выходит из метода, ничего не возвращая.
Я не думаю, что это связано с перезапуском Visual Studio, потому что иногда после того, как он не работает несколько раз, он снова будет работать, а затем снова остановится.
public async Task<IEnumerable<ItemModel>> GetItemsAsync(bool forceRefresh = false)
{
var baseAddr = new Uri("https://www.domain.co.uk");
var client = new HttpClient
{
BaseAddress = baseAddr
};
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", Settings.ApiToken);
// NOW PROTECTED
try
{
string returnedJson = await client.GetStringAsync("/api/Items/Index");
var convert = JsonConvert.DeserializeObject<List<ItemModel>>(returnedJson);
return convert;
}
catch (Exception ex)
{
return null;
}
return null;
}
Метод WebAPI -
[Authorize]
[HttpGet("[action]")]
public async Task<List<ItemModel>> Index()
{
return await itemService.Get();
}