|
|
Zveřejněno 05.01.2018 21:25:48
|
|
|

1、InstancePerDependency
Vytvořte novou unikátní instanci pro každou závislost nebo volání. Toto je také výchozí způsob vytváření instancí.
Oficiální dokumentace vysvětluje: Nastavte komponentu tak, aby každá závislá komponenta nebo volání Resolve() dostalo novou, unikátní instanci (výchozí).
2、InstancePerLifetimeScope
V doméně životního cyklu každá závislost nebo volání vytváří jednu sdílenou instanci a pro každou jinou doménu životního cyklu je instance jedinečná a není sdílená.
Oficiální dokumentace vysvětluje: Nakonfigurujte komponentu tak, aby každá závislá komponenta nebo volání Resolve() v rámci jednoho ILifetimeScope dostávalo stejnou sdílenou instanci. Závislé komponenty v různých životnostních rozsahech dostanou různé instance.
3、InstancePerMatchingLifetimeScope
V identifikované doméně životního cyklu každá závislost nebo volání vytváří jednu sdílenou instanci. Instance v mateřské doméně mohou být sdíleny v podřízené identitní doméně identifikované životní cyklické domény. Pokud v celé hierarchii dědičnosti není nalezena žádná identifikovaná doména životního cyklu, je vyhozena výjimka: DependencyResolutionException.
Oficiální dokumentace vysvětluje: Nakonfigurujte komponentu tak, aby každá závislá komponenta nebo volání Resolve() v rámci ILifetimeScope označeného některou z daných tagů dostala stejnou sdílenou instanci. Závislé komponenty v celoživotních rozsahech, které jsou potomky označeného rozsahu, sdílejí instanci rodiče. Pokud v hierarchii není nalezen vhodný označený rozsah, je vyhozena výjimka DependencyResolution.
4、InstancePerOwned
V životním cyklu instance vytvořené instancí vlastněnou v doméně životního cyklu každá závislá komponenta nebo volání metody Resolve() vytváří jednu sdílenou instanci a doména dětského životního cyklu sdílí instance v doméně životního cyklu rodiče. Pokud v hierarchii dědičnosti není nalezena vhodná doména životního cyklu s podřízenými instancemi, je vyhodena výjimka: DependencyResolutionException.
Oficiální dokumentace vysvětluje: Nakonfigurujte komponentu tak, aby každá závislá komponenta nebo volání Resolve() v rámci ILifetimeScope vytvořeného vlastněnou instancí dostalo stejnou sdílenou instanci. Závislé komponenty v celoživotních rozsahech, které jsou potomky vlastněného rozsahu instance, budou sdílet instanci rodiče. Pokud v hierarchii není nalezen vhodný rozsah vlastněné instance, je vyhodena výjimka DependencyResolution.
5、SingleInstance
Pokaždé, když spoléháte na komponentu nebo voláte metodu Resolve(), dostanete stejnou sdílenou instanci. Ve skutečnosti je to model s jedním modelem.
Oficiální dokumentace vysvětluje: Nakonfigurujte komponentu tak, aby každá závislá komponenta nebo volání Resolve() dostávalo stejnou sdílenou instanci.
6、InstancePerHttpRequest
V kontextu HTTP požadavku sdílejte instanci komponenty. Dostupné pouze pro vývoj asp.net MVC. Oficiální dokumentace vysvětluje: Sdílejte jednu instanci komponenty v kontextu jednoho HTTP požadavku. Oficiální odkaz na dokumentaci: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html
|
Předchozí:asp.net Soubor adresáře stránek je prázdnýDalší:Výměna jádra Firefoxu GeckoFx, vypnutí varování před vyskakovacím oknem systému
|