У меня есть приложение для окон, которое читает кучу URL-адресов (~ 800) из текстового файла в список. Затем приложение отображает код состояния всех URL-адресов.Несколько HttpWebRequests в C#
Проблема. Если я запускаю нормальный цикл цикла от 0 до списка, это занимает много времени. Мне нужно максимально ускорить процесс, не блокируя пользовательский интерфейс. Ниже мой код
private async void button1_Click(object sender, EventArgs e)
{
System.IO.StreamReader file = new System.IO.StreamReader("urls.txt");
while ((line = file.ReadLine()) != null)
{
pages.Add(line);
}
file.Close();
for(int i=0; i<pages.Count; i++)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(pages[i]);
int code = 0;
try
{
WebResponse response = await request.GetResponseAsync();
HttpWebResponse r = (HttpWebResponse)response;
code = (int)r.StatusCode;
}
catch (WebException we)
{
var r = ((HttpWebResponse)we.Response).StatusCode;
code = (int)r;
}
}
//add the url and status code to a datagridview
}
Нет заметных изменений в скорости, используя это. –