נושא
נושא Generic Host ותכנון יישומים
נושא תכנון יישומי .NET המאפשר לעיין יחד ב-Generic Host, ב-BackgroundService, ב-DI, בקונפיגורציה, בלוגים ובתכנון ההפעלה והעצירה.
מה כדאי לסדר בנושא הזה
כאשר יישום .NET גדל מעט, Main, Program.cs, אתחול הטפסים, תהליכי הרקע הקבועים, קריאת הקונפיגורציה ואתחול הלוגים נוטים להתפזר. הנושא הזה מסייע לעבור, עם Generic Host כציר מרכזי, על האופן שבו מתכננים את ההפעלה והעצירה של היישום כולו.
- היכן לחבר DI, קונפיגורציה ולוגים.
- מי מחזיק במחזור החיים של
BackgroundServiceושל תהליכי הרקע הקבועים. - כיצד לטפל בכיבוי מסודר ובריקון (flush) הנתונים בעת העצירה.
- כיצד לסדר את התהליכים הנמצאים מחוץ לממשק המשתמש.
שאלות נפוצות בפניות
Task.Runוטיימרים מופיעים בכל מקום, והאחריות לעצירתם אינה ברורה.- יש התלבטות עד כמה לאמץ את
Host.CreateApplicationBuilderואתBackgroundService. - רוצים ליישר קו בין התשתית של יישומי קונסולה, יישומי worker ויישומי שולחן עבודה.
- חיבור הקונפיגורציה, הלוגים וה-DI נוסף בדיעבד והופך קשה לתחזוקה.
הגישה המומלצת
בדרך כלל לא מספיק לשנן שמות API של Generic Host: קל יותר לעשות סדר כאשר בוחנים יחד הפעלה, מחזור חיים וחלוקת אחריות. שימוש בשלושת המאמרים הקשורים כנקודת כניסה, יחד עם עמודי הפיתוח עבור Windows וסקירת התכנון, מבהיר עד כמה כדאי להכניס את ה-host.
צרו איתנו קשר
אם העמוד הזה מתאר מצב דומה לשלכם, ספרו לנו על ההקשר הנוכחי ועל סוג הסיוע שאתם צריכים.