Computer >> Máy Tính >  >> Lập trình >> C#

Gọi một phương thức không đồng bộ trong C #

Lập trình không đồng bộ trong C # là một cách tiếp cận hiệu quả đối với các hoạt động bị chặn hoặc truy cập bị trì hoãn. Nếu một hoạt động bị chặn như vậy trong một quy trình đồng bộ, thì ứng dụng hoàn chỉnh sẽ đợi và mất nhiều thời gian hơn. Ứng dụng ngừng phản hồi. Sử dụng phương pháp tiếp cận không đồng bộ, các ứng dụng cũng tiếp tục với các tác vụ khác.

Một ứng dụng có GUI, hãy kiểm tra nội dung của hàng đợi và nếu có một tác vụ chưa được xử lý ở đó, nó sẽ lấy nó ra và xử lý trước. Mã thực thi đồng bộ và tác vụ chưa xử lý được hoàn thành trước. Ứng dụng sẽ hiển thị thông báo ngừng phản hồi nếu quá trình xử lý mất nhiều thời gian hơn dự kiến.

Hãy để chúng tôi xem những gì được thảo luận ở trên.

private void OnRequestDownload(object sender, RoutedEventArgs e) {
   var req = HttpWebRequest.Create(_requestedUri);
   var res = req.GetResponse();
}

Để giải quyết vấn đề trên, hãy sử dụng từ khóa async và await.

private async void OnRequestDownload(object sender, RoutedEventArgs e) {
   var req= HttpWebRequest.Create(_requestedUri);
   var res = await req.GetResponseAsync();
}