Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 2964|Svar: 0

[Kilde] ASP.NET Core (femogtyve) afhængigheder injicerer Lazy lazy lazy initialization

[Kopier link]
Opslået på 10/10/2023 21.14.31 | | | |
Krav: Tilføj services ASP.NET Core, injicer services gennem konstruktører, og vil forsinke initialiseringen af implementeringsklassen (forskellig logisk behandling afhængigt af HTTP-kontekstanmodningsinformationen), og overvej at bruge Lazy<T> for lazy for lazy initialisering.

Anmeldelse:

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

C# ydelsesoptimering: Lazy initialiserer lazy med <T>en forsinkelse
https://www.itsvse.com/thread-7700-1-1.html
Injicerer direkte i interfacet

Konstruktøren injiceres direkte i interface-tjenesten, og koden er som følger:

Udførelsesrækkefølgen er som følger:



Du kan se følgende eksekveringsrækkefølge: IA implementation class -> HomeController console -> index method

Initialisér med Lazy delay

Hvis controller-konstruktøren ændrer IA til Lazy<IA>, vil fejlen se sådan ud:

InvalidOperationException: Unable to resolve service for type 'System.Lazy`1[WebApplication6.IA]' while attempting to activate 'WebApplication6.Controllers.HomeController'.
Fejlen skyldes, at vi ikke har registreret os for Lazy-relaterede tjenester, vi skal registrere en Lazy<> generisk tjeneste, koden er som følger:

Tilføj til service:

Udførelsesrækkefølgen er som følger:



Du kan se eksekveringsrækkefølgen: HomeController console -> Index-metode -> IA-implementeringsklasse, du kan se denIA-grænsefladeforsinkelsesinitialiseringinstansierer IA-implementeringsobjektet, når det kaldes.

(Slut)





Tidligere:CIDR: Læs CIDR-adressebeskrivelsen i en artikel
Næste:Front-end gemmer localForage-pakken fra IndexedDB
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com