I have a method like this:
public List<List<string>> GroupedNodes(string URL, params string[] XPathes)
{
//Load HTML Source
HtmlWeb loader = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = loader.Load(URL);
//some other codes ...
//Return result as a List of list
return grouped;
}
I use HtmlAgilityPack to get html source from an url.
But when I use this method it causes freezing program.
I know I can use multithreading when I call this method in UI BUT I want to write my method in a way to be asynchronous & Responsive itself and when we use it, it works without freezing.
I mean if someone use my method and he/she don't know multithreading ,I want his/her program not to freeze, in the other words, I don't want to call my Method with a thread or task!