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

Utsikt: 20690|Svar: 1

[Källa] Sammanfattning av autofac-skapandeinstansmetodiken

[Kopiera länk]
Publicerad på 2018-01-05 21:25:48 | | |

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.

Officiell dokumentation 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.
Officiell dokumentation förklarar: Dela en instans av komponenten inom ramen för en enda HTTP-förfrågan.
Officiell dokumentationslänk: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html




Föregående:asp.net Hämta webbplatskatalogfilen är tom
Nästa:GeckoFx Firefox kärnersättning, inaktivera systempopup-varning
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