await
ดังกล่าวแล้วว่าคุณสามารถใช้ หากคุณจำเป็นต้องเรียกใช้รหัสพร้อมกันเหมือนที่คุณพูดถึง.GetAwaiter().GetResult()
, .Result
หรือ.Wait()
เป็นความเสี่ยงในการติดตายเป็นจำนวนมากได้กล่าวว่าในความคิดเห็น / คำตอบ เนื่องจากพวกเราส่วนใหญ่ชอบ oneliners คุณสามารถใช้สิ่งเหล่านี้เพื่อ.Net 4.5<
การรับค่าผ่านเมธอด async:
var result = Task.Run(() => asyncGetValue()).Result;
เรียกวิธี async แบบซิงโครนัส
Task.Run(() => asyncMethod()).Wait();
Task.Run
ไม่มีปัญหาการหยุดชะงักจะเกิดขึ้นเนื่องจากการใช้งานของ
ที่มา:
https://stackoverflow.com/a/32429753/3850405
GetResult
: "ประเภทนี้และสมาชิกมีไว้สำหรับใช้งานโดยคอมไพเลอร์" บุคคลอื่นไม่ควรใช้งาน