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 a BackgroundService haszná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.

Vissza a főoldalra