Мой код:
foreach (ListViewItem item in list.Items)
{
string url, path, host;
url = item.SubItems[0].Text; // example "www.google.com/"
path = item.SubItems[1].Text; // example = "login/"
host = (item.SubItems[2].Text); // example = "123.123.123:232";
bool ping = Request(url, path, host);
if (ping) {
item.Subitems[3].Text = "This is good";
} else {
item.Subitems[3].Text = "This is bad";
}
}
, и это метод запроса
public bool Request(string url, string path, string host)
{
HttpRequest httpRequest = new HttpRequest();
//a lot if code with httpRequest
if (result == "good")
return true;
else
return false;
}
, поэтому эта доза кода не имеет ошибок, когда я помещаю примерно 20 элементов в список и запускаю этот код закрыть приложение, поэтому мне нужно добавить задачу, чтобы она работала без закрытия приложения.
, поэтому я делаю это
foreach (ListViewItem item in list.Items)
{
await Task.Run(() => {
string url, path, host;
url = item.SubItems[0].Text; // example "www.google.com/"
path = item.SubItems[1].Text; // example = "login/"
host = (item.SubItems[2].Text); // example = "123.123.123:232";
bool ping = Request(url, path, host);
if (ping) {
item.Subitems[3].Text = "This is good";
} else {
item.Subitems[3].Text = "This is bad";
}
}
}
, но он дает мне эту ошибку Текущий поток должен быть установлен в однокомнатную квартиру (STA)