6
วิธีแก้ปัญหาการเข้าใช้ใหม่แบบ Async C # 5
ดังนั้นมีบางอย่างเกี่ยวกับฉันที่สนับสนุน async ใหม่ใน C # 5: ผู้ใช้กดปุ่มที่เริ่มการทำงานของ async การโทรจะส่งกลับทันทีและปั๊มข้อความเริ่มทำงานอีกครั้งนั่นคือจุดรวม ดังนั้นผู้ใช้สามารถกดปุ่มอีกครั้ง - ก่อให้เกิดความเชื่อมั่นอีกครั้ง เกิดอะไรขึ้นถ้านี่เป็นปัญหา ในตัวอย่างที่ฉันได้เห็นพวกเขาจะปิดใช้งานปุ่มก่อนการawaitโทรและเปิดใช้งานอีกครั้งหลังจากนั้น ดูเหมือนว่าฉันจะเป็นทางออกที่เปราะบางมากในแอปที่ใช้งานจริง เราควรเขียนรหัสสถานะเครื่องจักรบางอย่างที่ระบุว่าต้องปิดการใช้งานการควบคุมใดสำหรับชุดการทำงานที่กำหนดไว้ หรือมีวิธีที่ดีกว่า ฉันอยากที่จะแสดงกล่องโต้ตอบเป็นกิริยาช่วยในช่วงระยะเวลาของการดำเนินการ แต่นี่รู้สึกเหมือนใช้ค้อนขนาดใหญ่ มีใครมีความคิดที่สดใสบ้างไหม แก้ไข: ฉันคิดว่าการปิดใช้งานการควบคุมที่ไม่ควรใช้ในขณะที่การดำเนินการกำลังทำงานอยู่มีความเปราะบางเพราะฉันคิดว่ามันจะซับซ้อนอย่างรวดเร็วเมื่อคุณมีหน้าต่างที่มีการควบคุมมากมาย ฉันชอบที่จะทำให้สิ่งต่าง ๆ เรียบง่ายเพราะมันช่วยลดโอกาสในการเกิดข้อบกพร่องทั้งในระหว่างการเข้ารหัสเริ่มต้นและการบำรุงรักษาที่ตามมา จะเกิดอะไรขึ้นถ้ามีชุดควบคุมที่ควรปิดใช้งานสำหรับการดำเนินการเฉพาะอย่าง และจะเกิดอะไรขึ้นถ้าการทำงานหลายอย่างทำงานพร้อมกัน?