Argomento

Argomento Generic Host / progettazione delle applicazioni

Tema di progettazione delle applicazioni .NET che permette di esplorare insieme Generic Host, BackgroundService, DI, configurazione, log e progettazione dell’avvio e dell’arresto.

Cosa ordinare in questo tema

Quando un’app .NET cresce un po’, Main, Program.cs, l’inizializzazione dei form, i processi residenti, il caricamento della configurazione e l’inizializzazione dei log tendono a disperdersi. Questo tema è il punto di raccolta per capire, con Generic Host come asse, come progettare avvio e arresto dell’intera applicazione.

  • Dove collegare DI, configurazione e log
  • Chi possiede il ciclo di vita di BackgroundService e dei processi residenti
  • Come trattare graceful shutdown e flush durante l’arresto
  • Come ordinare le elaborazioni che si trovano fuori dall’interfaccia utente

Punti che emergono spesso in consulenza

  • Task.Run e timer proliferano e la responsabilità dell’arresto è ambigua
  • Non è chiaro fino a che punto introdurre Host.CreateApplicationBuilder e BackgroundService
  • Si vuole uniformare la base di console, worker e applicazioni desktop
  • È faticoso aggiungere a posteriori collegamenti fra configurazione, log e DI

Approccio adatto

La sola memorizzazione del nome delle API di Generic Host è raramente sufficiente; è più semplice fare ordine guardando insieme avvio, ciclo di vita e divisione delle responsabilità. Partendo dai tre articoli correlati e dalle pagine di sviluppo Windows e revisione del progetto, diventa più chiaro quanto host introdurre.

Contattateci

Se questa pagina descrive una situazione simile alla vostra, indicateci il contesto attuale e il tipo di supporto necessario.

Torna alla home