|
|
Geplaatst op 05-01-2018 21:25:48
|
|
|

1、InstancePerDependency
Maak een nieuwe unieke instantie aan voor elke afhankelijkheid of aanroep. Dit is ook de standaardmanier om instanties te maken.
Officiële documentatie legt uit: Configureer de component zodat elke afhankelijke component of aanroep van Resolve() een nieuwe, unieke instantie krijgt (standaard).
2、InstancePerLifetimeScope
In een levenscyclusdomein creëert elke afhankelijkheid of aanroep één gedeelde instantie, en voor elk verschillend levenscyclusdomein is de instantie uniek en niet gedeeld.
Officiële documentatie legt uit: Configureer de component zodat elke afhankelijke component of aanroep naar Resolve() binnen één enkele ILifetimeScope dezelfde gedeelde instantie krijgt. Afhankelijke componenten in verschillende levensduurscopes krijgen verschillende instanties.
3、InstancePerMatchingLifetimeScope
In een geïdentificeerd levenscyclusdomein creëert elke afhankelijkheid of aanroep één gedeelde instantie. Instanties in het ouderdomein kunnen worden gedeeld in het kindidentiteitsdomein van het geïdentificeerde levenscyclusdomein. Als er in de gehele erfenishiërarchie geen geïdentificeerd levenscyclusdomein wordt gevonden, wordt een uitzondering gegooid: DependencyResolutionException.
Officiële documentatie legt uit: Configureer de component zodat elke afhankelijke component of aanroep naar Resolve() binnen een ILifetimeScope die met een van de gegeven tags is getagd, dezelfde gedeelde instantie krijgt. Afhankelijke componenten in lifetime scopes die kinderen zijn van de getagde scope delen de instantie van de ouder. Als er geen correct getagd scope in de hiërarchie kan worden gevonden, wordt een DependencyResolutionException gegooid.
4、InstancePerOwned
In de levenscyclus van een instantie die is aangemaakt door een instantie die in een levenscyclusdomein bezit, creëert elke afhankelijke component of aanroep naar de Resolve()-methode één gedeelde instantie, en het kindlevenscyclusdomein deelt de instanties in het ouderdomein. Als er geen geschikt levenscyclusdomein met kindinstanties wordt gevonden in de erfhiërarchie, wordt een uitzondering gegooid: DependencyResolutionException.
Officiële documentatie legt uit: Configureer de component zodat elke afhankelijke component of aanroep naar Resolve() binnen een ILifetimeScope die door een eigen instantie is gemaakt, dezelfde gedeelde instantie krijgt. Afhankelijke componenten in lifetime scopes die kinderen zijn van de owned instance scope, zullen de instantie van de ouder delen. Als er geen geschikte owned instance scope in de hiërarchie kan worden gevonden, wordt een DependencyResolutionException gegooid.
5、SingleInstance
Elke keer dat je afhankelijk bent van een component of de Resolve()-methode aanroept, krijg je dezelfde gedeelde instantie. In feite is het een singleton-model.
Officiële documentatie legt uit: Configureer de component zodat elke afhankelijke component of aanroep naar Resolve() dezelfde gedeelde instantie krijgt.
6、InstancePerHttpRequest
In de context van een Http-verzoek deel je een instantie van een component. Alleen beschikbaar voor asp.net MVC-ontwikkeling. Officiële documentatie legt uit: Deel één instantie van de component binnen de context van één HTTP-verzoek. Officiële documentatielink: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html
|
Vorig:asp.net Get sitedirectorybestand is leegVolgend:GeckoFx Firefox kernelvervanging, uitschakelen systeem-pop-up waarschuwing
|