我正在构建一个高度依赖网页加载速度的应用程序。
我在 C# 上使用 HttpWebResponse 没有得到任何好的结果。我使用 Chrome 和 IE 等互联网浏览器获得了更好的结果
以下是我收集的统计数据:
HttpWebResponse (C#) = 17 秒 / 20 个请求
Chrome 上的 Javascript/iFrame = 9 秒 / 20 个请求
IE 上的 Javascript/iFrame = 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 的性能?