1、InstancePerDependency
Opret en ny unik instans for hver afhængighed eller kald. Dette er også standardmetoden til at oprette instanser på.
Officiel dokumentation forklarer: Konfigurér komponenten, så hver afhængig komponent eller kald til Resolve() får en ny, unik instans (standard).
2、InstancePerLifetimeScope
I et livscyklusdomæne skaber hver afhængighed eller kald en enkelt delt instans, og for hvert forskelligt livscyklusdomæne er instansen unik og ikke delt.
Officiel dokumentation forklarer: Konfigurér komponenten, så hver afhængig komponent eller kald til Resolve() inden for en enkelt ILifetimeScope får den samme, delte instans. Afhængige komponenter i forskellige levetidsscopes vil få forskellige instanser.
3、InstancePerMatchingLifetimeScope
I et identificeret livscyklusdomæne skaber hver afhængighed eller kald en enkelt delt instans. Instanser i forældredomænet kan deles i børneidentitetsdomænet for det identificerede livscyklusdomæne. Hvis der ikke findes noget identificeret livscyklusdomæne i hele arvehierarkiet, kastes en undtagelse: DependencyResolutionException.
Officiel dokumentation forklarer: Konfigurér komponenten, så hver afhængig komponent eller kald til Resolve() inden for en ILifetimeScope, der er tagget med en af de angivne tags, får den samme, delte instans. Afhængige komponenter i livstidsscopes, som er børn af det taggede scope, vil dele forældreinstansen. Hvis der ikke findes et passende tagget scope i hierarkiet, kastes en DependencyResolutionException.
4、InstancePerOwned
I livscyklussen for en instans, der oprettes af en instans ejet i et livscyklusdomæne, opretter hver afhængig komponent eller kald til Resolve()-metoden en enkelt delt instans, og det underordnede livscyklusdomæne deler instanserne i forældrelivscyklusdomænet. Hvis der ikke findes et passende livscyklusdomæne med børneinstanser i arvehierarkiet, kastes en undtagelse: DependencyResolutionException.
Officiel dokumentation forklarer: Konfigurér komponenten, så hver afhængig komponent eller kald til Resolve() inden for et ILifetimeScope, oprettet af en ejet instans, får den samme, delte instans. Afhængige komponenter i livstidsscopes, som er børn af den ejede instans, vil dele forælderens instans. Hvis der ikke findes et passende ejet instans-scope i hierarkiet, kastes en DependencyResolutionException.
5、SingleInstance
Hver gang du er afhængig af en komponent eller kalder Resolve()-metoden, får du den samme delte instans. Faktisk er det en singleton-model.
Officiel dokumentation forklarer: Konfigurér komponenten, så hver afhængig komponent eller kald til Resolve() får den samme, delte instans.
6、InstancePerHttpRequest
I forbindelse med en HTTP-anmodning deles en instans af en komponent. Kun tilgængelig for asp.net MVC-udvikling. Officiel dokumentation forklarer: Del én instans af komponenten inden for rammerne af en enkelt HTTP-anmodning. Officiel dokumentationslink: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html
|