Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 21356|Odpoveď: 1

[Zdroj] IoC efektívny Autofac

[Kopírovať odkaz]
Zverejnené 13. 9. 2016 13:14:12 | | |
IoC ~ Efektívny Autofac

Niet pochýb, že obľúbeným IoC kontajnerom Microsoftu nie je spring.net, Unity, ale Autofac, kvôli jeho efektivite a jednoduchosti, takže sa používa aj pre projekty sadov vedené Microsoftom

ilustruje použitie Autofacu.


Nazvime to teraz:

V ďalšej prednáške budem hovoriť o využití Autofac v konkrétnych projektoch pre ovocné projekty.

Teraz sa pozrite na jeho životný cyklus

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á komponenta 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.





Predchádzajúci:Výsledok akcie MVC
Budúci:ConcurrentDictionary vs. Dictionary+Locking - Dennis Gao
 Prenajímateľ| Zverejnené 13. 9. 2016 13:15:50 |
Metóda inštalácie nugetov:

Inštalácia Autofac

Install-Package Autofac
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com