|
|
Zverejnené 5. 1. 2018 21:25:48
|
|
|

1、InstancePerDependency
Vytvorte novú jedinečnú inštanciu pre každú závislosť alebo volanie. Toto je tiež predvolený spôsob vytvárania inštancií.
Oficiálna dokumentácia vysvetľuje: Nakonfigurujte komponent tak, aby každý závislý komponent alebo volanie Resolve() dostalo novú, jedinečnú inštanciu (predvolené).
2、PrípadPerLifetimeScope
V doméne životného cyklu každá závislosť alebo volanie vytvára jednu zdieľanú inštanciu a pre každú inú doménu životného cyklu je inštancia jedinečná a nie je zdieľaná.
Oficiálna dokumentácia vysvetľuje: Nakonfigurujte komponent tak, aby každá závislá komponenta alebo volanie Resolve() v rámci jedného ILifetimeScope dostalo rovnakú zdieľanú inštanciu. Závislé komponenty v rôznych životnostných rozsahoch dostanú rôzne inštancie.
3、PrípadZodpovedanieŽivotného rozsahu
V identifikovanej doméne životného cyklu každá závislosť alebo volanie vytvára jednu zdieľanú inštanciu. Inštancie v rodičovskej doméne môžu byť zdieľané v podriadenej identitnej doméne identifikovanej domény životného cyklu. Ak sa v celej hierarchii dedičnosti nenájde žiadna identifikovaná doména životného cyklu, vyhodí sa výnimka: DependencyResolutionException.
Oficiálna dokumentácia vysvetľuje: Nakonfigurujte komponent tak, aby každý závislý komponent alebo volanie Resolve() v rámci ILifetimeScope označeného ktoroukoľvek z daných hodnôt tagov dostalo rovnakú zdieľanú inštanciu. Závislé komponenty v celoživotných rozsahoch, ktoré sú potomkami označeného rozsahu, budú zdieľať inštanciu rodiča. Ak sa v hierarchii nenájde vhodný označený rozsah, vyhodí sa DependencyResolutionException.
4、InstancePerOwned
V životnom cykle inštancie vytvorenej inštanciou vlastnenou v doméne životného cyklu každá závislá komponenta alebo volanie metódy Resolve() vytvára jednu spoločnú inštanciu a doména životného cyklu dieťaťa zdieľa inštancie v doméne rodičovského životného cyklu. Ak sa v hierarchii dedičnosti nenájde vhodná doména životného cyklu s podinštanciami, vyhodí sa výnimka: DependencyResolutionException.
Oficiálna dokumentácia vysvetľuje: Nakonfigurujte komponent tak, aby každý závislý komponent alebo volanie Resolve() v rámci ILifetimeScope vytvoreného vlastnenou inštanciou dostalo rovnakú zdieľanú inštanciu. Závislé komponenty v celoživotných rozsahoch, ktoré sú potomkami vlastneného rozsahu inštancie, budú zdieľať inštanciu rodiča. Ak sa v hierarchii nenájde vhodný rozsah vlastnej inštancie, vyhodí sa DependencyResolutionException.
5、SingleInstance
Vždy, keď sa spoliehate na komponent alebo voláte metódu Resolve(), dostanete rovnakú zdieľanú inštanciu. V skutočnosti ide o model s jedným procesorom.
Oficiálna dokumentácia vysvetľuje: Nakonfigurujte komponent tak, aby každý závislý komponent alebo volanie Resolve() dostalo rovnakú zdieľanú inštanciu.
6、InstancePerHttpRequest
V kontexte HTTP požiadavky zdieľajte inštanciu komponentu. Dostupné len pre vývoj asp.net MVC. Oficiálna dokumentácia vysvetľuje: Zdieľajte jednu inštanciu komponentu v kontexte jednej HTTP požiadavky. Oficiálny odkaz na dokumentáciu: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html
|
Predchádzajúci:asp.net Súbor adresára stránky je prázdnyBudúci:Výmena jadra vo Firefoxe GeckoFx, vypnutie varovania o systémovom vyskakovacom okne
|