C# htmlagilitypack第一次运行时速度慢
第一次跑步需要15秒以上。。。第一次运行后不到1秒。。。我怎样才能修好它C# htmlagilitypack第一次运行时速度慢,c#,winforms,performance,html-agility-pack,C#,Winforms,Performance,Html Agility Pack,第一次跑步需要15秒以上。。。第一次运行后不到1秒。。。我怎样才能修好它 System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Start(); siteKeyword = tbSearch.Text; web.OverrideEncoding = Encoding.GetEncoding("windows-1251"); doc = web.Load(siteSearch + siteKeywo
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
siteKeyword = tbSearch.Text;
web.OverrideEncoding = Encoding.GetEncoding("windows-1251");
doc = web.Load(siteSearch + siteKeyword);
HtmlNodeCollection items = doc.DocumentNode.SelectNodes("//div[@class='cls1']");
int i = 0;
foreach (var item in items)
{
lbResults.Items.Add(item.SelectSingleNode("h2/a").InnerText);
resultsHREF.Add(item.SelectSingleNode("h2/a").Attributes["href"].Value);
i++;
}
sw.Stop();
MessageBox.Show(sw.ElapsedMilliseconds.ToString("00:00:000"));
sw.Reset();
我们需要更多的背景。“第一次跑步”是什么意思?构建代码后的第一次运行?第一次在代码中调用此函数时?你第一次在新机器上运行它?另外,您是否从WinForm应用程序运行此功能?WPF应用程序?一个网站?我从WinForm运行它。。。上面的代码是一个叫做搜索的按钮。。。当表单加载和我写关键字并按下该按钮时,需要15秒来完成工作,之后如果我再次单击它(对于相同的关键字或其他关键字),则需要1秒。。。如果我重新启动程序,第一次单击需要15秒,下一次单击需要1秒。这是否是错误的dns解析?还是tcp连接问题?您正在加载本地文档还是远程文档?远程。。。我没有任何网络问题。。在我朋友的电脑上也是一样的。。。我在webclient上遇到了同样的问题,我通过编写
webclient.Proxy=null解决了这个问题代码>没有这个,我放这行代码后需要20秒,需要2秒。。。。这应该有一个类似的技巧,它可能是在您第一次下载页面时缓存页面。将秒表放在web.Load(siteSearch+siteKeyword)上代码>调用,并查看这是否是第一次花费更长时间的函数。