Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เรียกวิธีการแบบอะซิงโครนัสใน C #


การเขียนโปรแกรมแบบอะซิงโครนัสใน C# เป็นแนวทางที่มีประสิทธิภาพสำหรับกิจกรรมที่ถูกบล็อกหรือการเข้าถึงล่าช้า หากกิจกรรมถูกบล็อกในลักษณะนี้ในกระบวนการซิงโครนัส แอปพลิเคชันที่สมบูรณ์จะรอและใช้เวลานานขึ้น แอปพลิเคชันหยุดตอบสนอง ด้วยการใช้วิธีการแบบอะซิงโครนัส แอปพลิเคชันจะทำงานกับงานอื่นๆ ต่อไปด้วย

แอปพลิเคชันที่มี GUI ตรวจสอบเนื้อหาของคิว และหากมีงานที่ยังไม่ได้ดำเนินการ ให้นำออกและประมวลผลก่อน รหัสดำเนินการพร้อมกันและงานที่ยังไม่ได้ดำเนินการจะเสร็จสิ้นก่อน แอปพลิเคชันจะแสดงข้อความหยุดตอบสนองหากการประมวลผลใช้เวลานานกว่าที่คาดไว้

ให้เราดูสิ่งที่กล่าวถึงข้างต้น

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

ในการแก้ปัญหาข้างต้น ให้ใช้ async และรอคำสำคัญ

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