Необходимо выполнить очень много POST запросов на сайт, получить ответ (типо "1,2,3.." добавить в массив и отправить запросы на другой URL. Можете, пожалуйста, подсказать, как можно правильно это реализовать с помощью c# Xamarin Android. Вот пример как это делаю я (но много запросов пропускается, а потом вообще приложение вылетает):
public string[500] Products;
public string[] Numbers;
public void myStart()
{
for (int i = 0; Products.Length > i; i++)
{
POST(TokenKey, Products[i]);
}
}
async void POST(string TokenKey, string product)
{
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage();
request.RequestUri = new Uri("http://my.web.com/getProductList?product=" + product);
request.Method = HttpMethod.Post;
request.Headers.Add("Authorization", TokenKey);
HttpResponseMessage response = await client.SendAsync(request);
var result = await response.Content.ReadAsStringAsync();
DecodeResponse(result);
}
DecodeResponse(string line)
{
Numbers = line.Split(',');
if(Numbers.Length > 0){
for (int i = 0; Numbers.Length > i; i++)
{
REMOVENUMBER(TokenKey, Numbers[i]);
}
}
}
async void REMOVENUMBER(string TokenKey, string number)
{
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage();
request.RequestUri = new Uri("http://my.web.com/remove?number=" + number);
request.Method = HttpMethod.Post;
request.Headers.Add("Authorization", TokenKey);
HttpResponseMessage response = await client.SendAsync(request);
var result = await response.Content.ReadAsStringAsync();
}
POSTасинхронный, но вы не ждете его окончания – tym32167 Nov 11 '18 at 17:05REMOVENUMBER– tym32167 Nov 11 '18 at 17:07