Я создаю приложение, которое сильно зависит от скорости загрузки веб-страницы.
Я не получаю хороших результатов с HttpWebResponse на С#. Я получаю лучшие результаты с интернет-браузерами, такими как Chrome и IE
Вот статистика, которую я собрал:
HttpWebResponse (C#) = 17 секунд/20 запросов
Javascript/iFrame в Chrome = 9 секунд/20 запросов
Javascript/iFrame в IE = 11 секунд/20 запросов
Вопрос 1 Что я могу сделать, чтобы оптимизировать мой код для повышения производительности?
Вопрос 2. Я могу дважды нажать кнопку "Пуск" и открыть два соединения, чтобы достичь производительности браузера. Это прекрасно работает, однако веб-сайт, на который я отправляю запрос, имеет ограничение. Если я отправлю новый запрос до завершения другого, он заблокирует мое соединение на 10 минут. Есть ли способ предотвратить это?
Моя тема:
void DomainThreadNamecheapStart()
{
while (stop == false)
{
foreach (string FromDomainList in DomainList.Lines)
{
if (FromDomainList.Length > 1)
{
// I removed my api parameters from the string
string namecheapapi = "https://api.namecheap.com/foo" + FromDomainList + "bar";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(namecheapapi);
request.Proxy = null;
request.ServicePoint.Expect100Continue = false;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
status.Text = FromDomainList + "\n" + sr.ReadToEnd();
sr.Close();
}
}
}
}
Моя кнопка:
private void button2_Click(object sender, EventArgs e)
{
stop = false;
Thread DomainThread = new Thread(new ThreadStart(DomainThreadNamecheapStart));
DomainThread.Start();
}
Мой старый вопрос: Как повысить производительность HttpWebResponse?