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

Utsikt: 21356|Svar: 1

[Källa] IoC-effektiv Autofac

[Kopiera länk]
Publicerad på 2016-09-13 13:14:12 | | |
IoC ~ Efficient Autofac

Det råder ingen tvekan om att Microsofts favorit-IoC-container inte är spring.net, Unity, utan Autofac, på grund av dess effektivitet, dess enkelhet, så den används också för Microsoft-ledda fruktträdgårdsprojekt

illustrerar användningen av en Autofac.


Låt oss säga det nu:

I nästa föreläsning kommer jag att prata om användningen av Autofac i specifika projekt för fruktträdgårdsprojekt.

Titta nu på dess livscykel

1、InstancePerDependency

Skapa en ny unik instans för varje beroende eller anrop. Detta är också standardsättet att skapa instanser.

Officiell dokumentation förklarar: Konfigurera komponenten så att varje beroende komponent eller anrop till Resolve() får en ny, unik instans (standard).

2、InstancePerLifetimeScope

I en livscykeldomän skapar varje beroende eller anrop en enda delad instans, och för varje olika livscykeldomän är instansen unik och inte delad.

Officiell dokumentation förklarar: Konfigurera komponenten så att varje beroende komponent eller anrop till Resolve() inom en enda ILifetimeScope får samma, delade instans. Beroende komponenter i olika livslängdsscopes får olika instanser.

3、InstancePerMatchingLifetimeScope

I en identifierad livscykeldomän skapar varje beroende eller anrop en enda delad instans. Instanser i föräldradomänen kan delas i barnidentitetsdomänen för den identifierade livscykeldomänen. Om ingen identifierad livscykeldomän hittas i hela arvshierarkin kastas ett undantag: DependencyResolutionException.

Officiell dokumentation förklarar: Konfigurera komponenten så att varje beroende komponent eller anrop till Resolve() inom en ILifetimeScope taggad med någon av de tillhandahållna taggarna får samma delade instans. Beroende komponenter i livstidsscopes som är barn till det taggade scope delar förälderns instans. Om inget lämpligt taggat scope kan hittas i hierarkin kastas en DependencyResolutionException.

4、InstancePerOwned

I livscykeln för en instans skapad av en instans som ägs i en livscykeldomän, skapar varje beroende komponent eller anrop till Resolve()-metoden en enda delad instans, och den barnliga livscykeldomänen delar instanserna i den föräldrabaserade livscykeldomänen. Om ingen lämplig livscykeldomän med barninstanser hittas i arvshierarkin kastas ett undantag: DependencyResolutionException.

Den officiella dokumentationen förklarar:

Konfigurera komponenten så att varje beroende komponent eller anrop till Resolve() inom en ILifetimeScope skapad av en ägd instans får samma, delade instans. Beroende komponenter i livstidsscopes som är barn till den ägda instansens scope kommer att dela förälderns instans. Om ingen lämplig ägd instans kan hittas i hierarkin kastas en DependencyResolutionException.

5、SingleInstance

Varje gång du förlitar dig på en komponent eller anropar Resolve()-metoden får du samma delade instans. Faktum är att det är en singelmodell.

Officiell dokumentation förklarar: Konfigurera komponenten så att varje beroende komponent eller anrop till Resolve() får samma, delade instans.

6、InstancePerHttpRequest

I sammanhanget av en Http-förfrågan, dela en instans av en komponent. Endast tillgänglig för asp.net MVC-utveckling.





Föregående:MVC:s ActionResult
Nästa:ConcurrentDictionary vs. Dictionary+Locking - Dennis Gao
 Hyresvärd| Publicerad på 2016-09-13 13:15:50 |
Nuget-installationsmetod:

Installera Autofac

Install-Package Autofac
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