Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 2964|Svare: 0

[Kilde] ASP.NET Core (tjuefem) avhengigheter injiserer Lazy lazy lazy initialisering

[Kopier lenke]
Publisert på 10.10.2023 21:14:31 | | | |
Krav: Legg til tjenester ASP.NET Core, injiser tjenester gjennom konstruktører, og vil utsette initialiseringen av implementasjonsklassen (forskjellig logisk behandling avhengig av HTTP-kontekstforespørselsinformasjonen), og vurder å bruke Lazy<T> for lat for lat initialisering.

Anmeldelse:

Hvordan Lazy in C# holder trådene trygge
https://www.itsvse.com/thread-10621-1-1.html

C# ytelsesoptimalisering: Lazy initialiserer lazy med <T>forsinkelse
https://www.itsvse.com/thread-7700-1-1.html
Injiser direkte i grensesnittet

Konstruktøren injiseres direkte i grensesnitttjenesten, og koden er som følger:

Utførelsesrekkefølgen er som følger:



Du kan se følgende utførelsesrekkefølge: IA implementation class -> HomeController console -> index method

Initialiser med Lazy delay

Hvis kontrollerkonstruktøren endrer IA til Lazy<IA>, vil feilen se slik ut:

InvalidOperationException: Unable to resolve service for type 'System.Lazy`1[WebApplication6.IA]' while attempting to activate 'WebApplication6.Controllers.HomeController'.
Feilen skyldes at vi ikke har registrert oss for Lazy-relaterte tjenester, vi må registrere en Lazy<> generisk tjeneste, koden er som følger:

Legg til i tjenesten:

Utførelsesrekkefølgen er som følger:



Du kan se kjørerekkefølgen: HomeController-konsoll -> Index-metode -> IA-implementeringsklasse, du kan se denIA-grensesnittforsinkelsesinitialiseringvil instansiere IA-implementasjonsobjektet når det kalles.

(Slutt)





Foregående:CIDR: Les beskrivelsen av CIDR-adressen i en artikkel
Neste:Front-end lagrer localForage-pakken i IndexedDB
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com