使方法本身异步

Par*_*rsa 5 c# multithreading asynchronous async-await html-agility-pack

我有这样的方法:

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;
}
Run Code Online (Sandbox Code Playgroud)

我使用HtmlAgilityPack从网址获取html源代码.

但是当我使用这种方法时,它会导致冻结程序.

我知道当我在UI中调用此方法时我可以使用多线程但是我想以异步和响应的方式编写我的方法,当我们使用它时,它可以在不冻结的情况下工作.

我的意思是如果有人使用我的方法并且他/她不了解多线程,我希望他/她的程序不要冻结,换句话说,我不想用线程或任务调用我的方法!