Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 21356|Odgovoriti: 1

[Vir] IoC učinkovit Autofac

[Kopiraj povezavo]
Objavljeno na 13. 09. 2016 13:14:12 | | |
IoC ~ Učinkoviti Autofac

Ni dvoma, da Microsoftov najljubši IoC kontejner ni spring.net, Unity, temveč Autofac, zaradi njegove učinkovitosti in preprostosti, zato se uporablja tudi za Microsoftove projekte sadovnjakov

prikazuje uporabo Autofaca.


Recimo zdaj:

V naslednjem predavanju bom govoril o uporabi Autofaca v posameznih projektih za sadovnjaške projekte.

Zdaj poglejte njegov življenjski cikel

1、InstancePerdependency

Za vsako odvisnost ali klic ustvarite novo edinstveno instanco. To je tudi privzeti način ustvarjanja instanc.

Uradna dokumentacija pojasnjuje: Konfigurirajte komponento tako, da vsaka odvisna komponenta ali klic Resolve() dobi novo, edinstveno instanco (privzeto).

2、InstancePerLifetimeScope

V domeni življenjskega cikla vsaka odvisnost ali klic ustvari eno skupno instanco, in za vsako različno domeno življenjskega cikla je ta primer edinstven in ne deljen.

Uradna dokumentacija pojasnjuje: Konfigurirajte komponento tako, da vsaka odvisna komponenta ali klic Resolve() znotraj enega ILifetimeScope dobi enak, deljeni primerek. Odvisne komponente v različnih življenjskih obsegih bodo dobile različne primerke.

3、PrimerUjemanjeŽivljenjskega obsega

V identificirani življenjski domeni vsaka odvisnost ali klic ustvari eno skupno instanco. Primeri v nadrejeni domeni se lahko delijo v podrejeni identitetni domeni identificirane življenjske domene. Če v celotni hierarhiji dedovanja ni identificirane domene življenjskega cikla, se vrže izjema: DependencyResolutionException.

Uradna dokumentacija pojasnjuje: Konfigurirajte komponento tako, da vsaka odvisna komponenta ali klic Resolve() znotraj ILifetimeScope, označen z katero koli od navedenih oznak, dobi enak, deljeni primerek. Odvisne komponente v življenjskih obsegih, ki so otroci označenega obsega, si delijo instanco starša. Če v hierarhiji ni ustrezno označenega obsega, se vrže izjema DependencyResolution.

4、InstancePerOwned

V življenjskem ciklu primera, ki ga ustvari primerek, ki je v lasti domene življenjskega cikla, vsaka odvisna komponenta ali klic metode Resolve() ustvari eno skupno instanco, pri čemer domena podrejenega življenjskega cikla deli primerke v domeni življenjskega cikla starša. Če v hierarhiji dedovanja ni primerne domene življenjskega cikla z podrejenimi primerki, se vrže izjema: DependencyResolutionException.

Uradna dokumentacija pojasnjuje:

Konfigurirajte komponento tako, da vsaka odvisna komponenta ali klic Resolve() znotraj ILifetimeScope, ki ga ustvari lastna instanca, dobi enak, deljeni primer. Odvisne komponente v življenjskih obsegih, ki so otroci obsega lastniške instance, si delijo instanco starša. Če v hierarhiji ni mogoče najti ustreznega obsega lastniške instance, se vrže izjema DependencyResolution.

5、SingleInstance

Vsakič, ko se zanašaš na komponento ali pokličeš metodo Resolve(), dobiš isto skupno instanco. Pravzaprav gre za enojni model.

Uradna dokumentacija pojasnjuje: Konfigurirajte komponento tako, da vsaka odvisna komponenta ali klic Resolve() dobi enako, deljeno instanco.

6、InstancePerHttpRequest

V kontekstu HTTP zahteve delite instanco komponente. Na voljo samo za razvoj asp.net MVC.





Prejšnji:Akcijski rezultat MVC
Naslednji:ConcurrentDictionary proti Dictionary+Locking - Dennis Gao
 Najemodajalec| Objavljeno na 13. 09. 2016 13:15:50 |
Metoda namestitve nugeta:

Namestitev Autofac

Install-Package Autofac
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com