Tôi có một phương pháp như thế này:Make phương pháp không đồng bộ tự
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;
}
tôi sử dụng HtmlAgilityPack để có được nguồn html từ một địa chỉ.
Nhưng khi tôi sử dụng phương pháp này, nó gây ra đóng băng chương trình.
Tôi biết tôi có thể sử dụng đa luồng khi tôi gọi phương pháp này trong giao diện người dùng NHƯNG Tôi muốn viết phương pháp của tôi trong một cách để được đồng bộ & Responsive tự và khi chúng ta sử dụng nó, nó hoạt động mà không đóng băng.
Ý tôi là nếu ai đó sử dụng phương pháp của tôi và anh ấy/cô ấy không biết đa luồng, tôi muốn chương trình của anh ấy không đóng băng, nói cách khác, tôi không muốn gọi Phương thức của tôi bằng một chuỗi hoặc công việc !
Câu trả lời này quá chung chung và đi ngược lại thực tiễn được chấp nhận trong C#, đó là sử dụng 'async'-'await'. – svick