Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 2964|Svar: 0

[Källa] ASP.NET Core (tjugofem) beroenden injicerar Lazy lazy lazy initialisering

[Kopiera länk]
Publicerad på 2023-10-10 21:14:31 | | | |
Krav: Lägg till tjänster ASP.NET Core, injicera tjänster via konstruktörer och vill fördröja initialiseringen av implementeringsklassen (olika logisk bearbetning beroende på HTTP-kontextförfrågningsinformationen), och tänk på att använda Lazy<T> för lat för lat initiering.

Recension:

Hur Lazy in C# håller trådarna säkra
https://www.itsvse.com/thread-10621-1-1.html

C# prestandaoptimering: Lazy initierar lazy med <T>en fördröjning
https://www.itsvse.com/thread-7700-1-1.html
Injicera direkt i gränssnittet

Konstruktorn injiceras direkt i gränssnittstjänsten, och koden är följande:

Utföringsordningen är följande:



Du kan se följande exekveringsordning: IA implementation class -> HomeController console -> index method

Initiera med lat fördröjning

Om kontrollkonstruktorn ändrar IA till Lazy<IA>, kommer felet att se ut så här:

InvalidOperationException: Unable to resolve service for type 'System.Lazy`1[WebApplication6.IA]' while attempting to activate 'WebApplication6.Controllers.HomeController'.
Felet beror på att vi inte har registrerat oss för lata-relaterade tjänster, vi behöver registrera en lat<> generisk tjänst, koden är följande:

Lägg till i tjänsten:

Utföringsordningen är följande:



Du kan se exekveringsordningen: HomeController console -> Index method -> IA implementation class, du kan se denIA-gränssnittets fördröjningsinitialiseringinstansierar IA-implementationsobjektet när det anropas.

(Slut)





Föregående:CIDR: Läs beskrivningen av CIDR:s adress i en artikel
Nästa:Front-end lagrar localForage-paketet från IndexedDB
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com