Téma
Generic Host / alkalmazástervezési téma
.NET-alkalmazás-tervezési témaoldal, amelyen a Generic Host, a BackgroundService, a DI, a konfiguráció, a naplózás, valamint az indítás és a leállítás tervezése egy helyen végigkövethető.
Mit szeretnénk ezzel a témával rendezni
Amint egy .NET-alkalmazás egy kicsit megnő, a Main, a Program.cs, az űrlapok inicializálása, az állandóan futó feldolgozás, a konfiguráció betöltése és a naplózás inicializálása szétszóródik.
Ez a téma egy olyan gyűjtőoldal, amely a Generic Host köré építve az egész alkalmazás indításának és leállításának tervezését egyetlen összefüggésben teszi követhetővé.
- hol kapcsolódjon össze a DI, a konfiguráció és a naplózás
- ki felel a
BackgroundServiceés az állandóan futó feldolgozás élettartamáért - hogyan kezeljük a kíméletes (graceful) leállítást és a leállításkor szükséges kiírást (flush)
- hogyan rendezzük a felhasználói felületen kívüli feldolgozást
Kérdések, amelyek a konzultációk során gyakran felmerülnek
- a
Task.Run-hívások és az időzítők szerteszét vannak, és nem világos, ki felel a leállításért - bizonytalan, hogy a
Host.CreateApplicationBuilderés aBackgroundServicehasználatát meddig érdemes kiterjeszteni - szeretnénk egységes alapot kialakítani a konzolalkalmazások, a worker-szolgáltatások és az asztali alkalmazások számára
- a konfiguráció, a naplózás és a DI összekapcsolását utólag, darabonként toldottuk hozzá, ami egyre nehezebbé teszi a kezelést
Javasolt haladási irány
A Generic Hostról szóló ismeretekből kevés haszna van, ha csak az API-k nevét jegyezzük meg; az indítást, az élettartamot és a felelősségi körök szétválasztását együtt szemlélve könnyebb rendet tenni. Ha a három kapcsolódó cikkből indulunk ki, és együtt tekintjük meg a Windows-alkalmazások fejlesztéséről és a tervezési felülvizsgálatról szóló oldalakat, kirajzolódik, hogy a hostot milyen mértékben érdemes bevezetni.
Beszélje meg velünk
Ha az oldal tartalmához hasonló megoldandó problémája van, kérjük, beszélje meg velünk a jelenlegi állapotot és azt, milyen támogatásra van szüksége.