problem med multithreading
Hej Eksperter,Jeg bruger HtmlAgilityPack HTML parser og det virker fint men for at det hele skal gå nået hurtiger har jeg prøvet at bruge multithreading men den fejler en en eller anden grund? Her er min kode:
string TheReturn = "";
Parallel.ForEach(doc.DocumentNode.SelectNodes("//a[@href]"), Links =>{
HtmlAttribute href = Links.Attributes["href"];
if (href.Value.IndexOf("https://") != -1)
{
TheReturn += "Https page";
}
else
{
TheReturn += "Http page";
}
});
return TheReturn;
af en eller anden grund er return tom selv om at doc.DocumentNode.SelectNodes("//a[@href]").length er 82 ?
og det virker fint hvis jeg ikke bruger parallel.ForEach men istedet bruger en simple foreach (HtmlNode Links in doc.DocumentNode.SelectNodes("//a[@href]")), så bliver resultatet af alle 82 elementer retuneret? Er der nogle der kan se hvor fejlen er?