Subiect
Generic Host / subiect de proiectare a aplicațiilor
Tema arhitecturii aplicațiilor .NET, care reunește Generic Host, BackgroundService, DI, configurarea, jurnalizarea și proiectarea pornirii și opririi.
Ce urmărim să clarificăm pe acest subiect
Când o aplicație .NET crește puțin, Main, Program.cs, inițializarea formularelor, procesele persistente, citirea configurației și inițializarea jurnalizării se împrăștie în mai multe locuri.
Această temă este firul conducător prin care urmărim într-un singur loc, în jurul Generic Host, cum se proiectează pornirea și oprirea întregii aplicații.
- Unde se leagă DI, configurarea și jurnalizarea
- Cine deține durata de viață a unui
BackgroundServicesau a unui proces persistent - Cum se tratează oprirea controlată (graceful shutdown) și golirea datelor la oprire (flush)
- Cum se organizează procesările aflate în afara interfeței
Aspecte frecvente în consultanță
Task.Runși temporizatoarele apar peste tot, iar responsabilitatea pentru oprire nu este clară- Nu este clar cât de mult trebuie introdus
Host.CreateApplicationBuilderșiBackgroundService - Se dorește unificarea fundației pentru aplicații de consolă, worker și aplicații desktop
- Legarea configurării, a jurnalizării și a DI a fost adăugată pe parcurs și devine dificil de gestionat
Un mod de lucru potrivit
În cazul Generic Host, memorarea numelor API-urilor nu ajută prea mult; este mai ușor să se clarifice lucrurile dacă se privesc împreună pornirea, durata de viață și împărțirea responsabilităților. Pornind de la cele trei articole conexe și privindu-le împreună cu paginile de dezvoltare de aplicații Windows și de revizuire a designului, se conturează până unde trebuie introdus host-ul.
Solicitați o consultație
Dacă această pagină se apropie de situația cu care vă confruntați, solicitați o consultație și descrieți-ne contextul actual și tipul de sprijin de care aveți nevoie.