asyncและawaitคำหลักที่จะไม่ทำให้ใบสมัครของคุณตอบสนองมากขึ้นได้ด้วยตัวเอง พวกเขาเพียงแค่ทำการโทรและจัดการกับวิธีการที่ทำให้Taskวัตถุกลับมามีความสะดวกมากขึ้น ในการสร้างasync/ awaitใช้เธรดพื้นหลังจริง ๆ คุณจะต้องรวมกับการใช้สิ่งต่าง ๆ เช่น:
Task.Start()- TaskSchedulerเริ่มต้นเป็นงานที่ได้รับใช้
- PLINQ - ดำเนินการชุดของการดำเนินการแบบขนานส่งคืนงาน
TaskCompletionSource- วิธีการที่กำหนดเองเพื่อจัดการงาน async ที่เดียวที่ฉันใช้นี่คือจัดการกับเหตุการณ์ที่เกิดขึ้นจากการWebBrowserควบคุม
asyncวิธีการอื่นเช่นฟังก์ชั่นมากมายใน Win 8 API
กล่าวอีกนัยหนึ่งasync/ awaitเป็นส่วนขยายของรูปแบบอะซิงโครนัสตามงาน คุณสามารถหาพื้นที่ขนาดใหญ่ของข้อมูลรวมถึงตัวอย่างมากมายที่นี่
BackgroundWorkerเป็นองค์ประกอบ WinForms ที่สร้างด้ายพื้นหลัง 1 โดยใช้รูปแบบการจัดกิจกรรมตาม Asynchronousและคุณสามารถเติมงานที่ทำในหัวข้อพื้นหลังนี้ด้วยรหัสของคุณเองในDoWorkตัวจัดการเหตุการณ์ โดยทั่วไปแล้วMicrosoft ไม่แนะนำให้ใช้รูปแบบนี้อีกต่อไป (ดูที่ด้านล่างของหน้าเว็บที่นี่ ) แม้ว่าคุณจะคุ้นเคยกับมันแล้ว แต่ก็อาจเป็นตัวเลือกที่ง่าย
อีกตัวเลือกหนึ่งไม่ได้กล่าวถึงเป็นปฏิกิริยาส่วนขยายสำหรับ NET นี่เป็นอีกหนึ่งกรอบการทำงานที่ยอดเยี่ยมสำหรับการเพิ่มการตอบสนองต่อแอพของคุณ