1、InstancePerDependency
Luo uusi yksilöllinen instanssi jokaiselle riippuvuudelle tai kutsulle. Tämä on myös oletustapa luoda instansseja.
Virallinen dokumentaatio selittää: Määritä komponentti niin, että jokainen riippuva komponentti tai kutsu Resolve():lle saa uuden, ainutlaatuisen instanssin (oletus).
2、InstancePerLifetimeScope
Elinkaaren domainissa jokainen riippuvuus tai kutsu luo yhden jaetun instanssin, ja jokaiselle eri elinkaaren domainille instanssi on ainutlaatuinen eikä jaettu.
Virallinen dokumentaatio selittää: Määritä komponentti niin, että jokainen riippuvainen komponentti tai kutsu Resolve():lle yhden ILifetimeScope:n sisällä saa saman, jaetun instansin. Riippuvaiset komponentit eri elinkaarissa saavat erilaisia instansseja.
3、InstancePerMatchingLifetimeScope
Tunnistetussa elinkaaren domainissa jokainen riippuvuus tai kutsu luo yhden jaetun instanssin. Vanhemman domainin instansseja voidaan jakaa tunnistetun elinkaaren domainin lapsiidentiteettidomainissa. Jos koko perintöhierarkiassa ei löydy tunnistettua elinkaaren domainia, heitetään poikkeus: DependencyResolutionException.
Virallinen dokumentaatio selittää: Määritä komponentti niin, että jokainen riippuva komponentti tai kutsu Resolve():lle ILifetimeScope-tiedostossa, joka on merkitty millä tahansa annetuista tunnisteista, saa saman, jaetun instanssin. Riippuvat komponentit elinikäisissä skooppeissa, jotka ovat merkityn scopen lapsia, jakavat vanhemman instanssin. Jos hierarkiasta ei löydy asianmukaisesti merkittyä laajuutta, DependencyResolutionException heitetään mukaan.
4、InstancePerOwned
Instanssin elinkaaren aikana, jonka omistaa instanssi elinkaaren domainissa, jokainen riippuvainen komponentti tai kutsu Resolve()-metodiin luo yhden jaetun instansin, ja lapsielinkaaren domaini jakaa instanssit vanhemman elinkaaren domainissa. Jos perintöhierarkiasta ei löydy sopivaa elinkaaren domainia, jossa olisi lapsiinstansseja, heitetään poikkeus: DependencyResolutionException.
Virallinen dokumentaatio selittää: Määritä komponentti niin, että jokainen riippuva komponentti tai kutsu Resolve():lle ILifetimeScope-järjestelmässä, jonka on luonut omistettu instanssi, saa saman, jaetun instansin. Riippuvat komponentit elinikäisissä mittakaavoissa, jotka ovat omistetun instanssin laajuuden lapsia, jakavat vanhemman instanssin. Jos hierarkiasta ei löydy sopivaa omistettua instanssialuetta, heitetään DependencyResolutionException.
5、SingleInstance
Joka kerta kun luotat komponentista tai kutsut Resolve()-metodia, saat saman jaetun instanssin. Itse asiassa kyseessä on singleton-malli.
Virallinen dokumentaatio selittää: Määritä komponentti niin, että jokainen riippuva komponentti tai kutsu Resolve():lle saa saman, jaetun instanssin.
6、InstancePerHttpRequest
Http-pyynnön yhteydessä jaa komponentin instanssi. Saatavilla vain asp.net MVC-kehitykseen. Virallinen dokumentaatio selittää: Jaa yksi komponentin instanssi yhden HTTP-pyynnön yhteydessä. Virallinen dokumentaatiolinkki: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html
|