Teema

Generic Host / rakenduse disaini teema

.NET-i rakenduste kavandamise teemaleht, kus saab Generic Hosti, BackgroundService'i, DI, konfiguratsiooni, logimise ning rakenduse käivitamise ja peatamise kavandamise ühest kohast läbi käia.

Mida see teema aitab korrastada

Kui .NET-i rakendus veidi kasvab, hakkavad Main, Program.cs, vormide initsialiseerimine, taustal pidevalt töötav töötlus, konfiguratsiooni laadimine ja logimise seadistamine laiali valguma. See teema on koondpunkt, mille kaudu saab Generic Hosti kui telge kasutades jälgida, kuidas kogu rakenduse käivitamist ja peatamist kavandada.

  • kus DI (sõltuvuste süstimine), konfiguratsioon ja logimine omavahel ühendada
  • kes vastutab BackgroundService‘i ja taustatöötluse eluea eest
  • kuidas käsitleda sujuvat peatamist (graceful shutdown) ja andmete kirjutamist (flush) peatamisel
  • kuidas korrastada kasutajaliidesest väljaspool toimuvat töötlust

Küsimused, mis nõustamisel sageli esile tulevad

  • Task.Run ja taimerid on mitmes kohas laiali ning ei ole selge, kes vastutab peatamise eest
  • ei ole selge, kui kaugele Host.CreateApplicationBuilder ja BackgroundService võtta
  • soovitakse konsoolirakenduste, worker’ite ja töölauarakenduste aluse ühtlustada
  • konfiguratsiooni, logimise ja DI ühendused on lisatud tagantjärele tükkhaaval ning see tekitab probleeme

Sobiv lähenemine

Generic Hosti puhul on pelgalt API nimede päheõppimisest vähe kasu; selgem on, kui vaadata käivitamist, eluiga ja vastutuse jaotust koos. Kui alustada kolmest seotud artiklist ning vaadata neid koos Windowsi rakenduste arenduse ja disainiülevaatuse lehtedega, saab selgema pildi sellest, kui kaugele hosti kasutusele võtta.

Küsige meilt nõu

Kui see leht on lähedane olukorrale, millega te tegelete, küsige meilt nõu, lisades praeguse konteksti ja selle, millist tuge vajate.

Tagasi avalehele