หัวข้อ
หัวข้อ Generic Host และการออกแบบแอปพลิเคชัน
หัวข้อการออกแบบแอปพลิเคชัน .NET ที่ช่วยให้เรียกดู Generic Host, BackgroundService, DI, การตั้งค่า บันทึก และการออกแบบการเริ่มและหยุดการทำงานได้ในที่เดียว
สิ่งที่ควรจัดระเบียบในหัวข้อนี้
เมื่อแอปพลิเคชัน .NET เติบโตขึ้นอีกเล็กน้อย Main, Program.cs, การเริ่มต้นฟอร์ม โปรเซสที่ทำงานประจำ การอ่านการตั้งค่า และการเริ่มต้นระบบบันทึก มักกระจัดกระจายออกไป หัวข้อนี้ช่วยให้ไล่ดู วิธีออกแบบการเริ่มและหยุดการทำงานของทั้งแอปพลิเคชัน โดยยึด Generic Host เป็นแกนหลัก
- ควรเชื่อมต่อ DI การตั้งค่า และบันทึกไว้ที่ใด
- ใครเป็นเจ้าของวงจรชีวิตของ
BackgroundServiceและโปรเซสที่ทำงานประจำ - จะจัดการการปิดอย่างเป็นระเบียบและการเทข้อมูลออกเมื่อหยุดทำงานอย่างไร
- จะจัดระเบียบการประมวลผลที่อยู่นอกอินเทอร์เฟซอย่างไร
ประเด็นที่พบบ่อยในการปรึกษา
Task.Runและตัวจับเวลาปรากฏอยู่ทุกที่ และความรับผิดชอบในการหยุดพวกมันไม่ชัดเจน- มีข้อสงสัยว่าควรนำ
Host.CreateApplicationBuilderและBackgroundServiceมาใช้มากน้อยเพียงใด - ต้องการปรับฐานของแอปคอนโซล worker และแอปพลิเคชันเดสก์ท็อปให้เป็นแนวเดียวกัน
- การเชื่อมต่อการตั้งค่า บันทึก และ DI ถูกเพิ่มเข้ามาทีหลังเรื่อย ๆ จนดูแลรักษาได้ยาก
แนวทางที่แนะนำ
การท่องจำชื่อ API ของ Generic Host มักไม่เพียงพอ การพิจารณา การเริ่มทำงาน วงจรชีวิต และการแบ่งความรับผิดชอบ ไปพร้อมกันจะช่วยให้จัดระเบียบได้ง่ายขึ้น เมื่อใช้บทความที่เกี่ยวข้องทั้งสามเป็นจุดเริ่มต้น ร่วมกับหน้าการพัฒนา Windows และการตรวจทานการออกแบบ ก็จะเห็นชัดว่าควรนำ host เข้ามาใช้ถึงระดับใด
ติดต่อเรา
หากหน้านี้ตรงกับสถานการณ์ของคุณ โปรดเล่าบริบทปัจจุบันและความช่วยเหลือที่ต้องการให้เราทราบ