Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 21356|Svare: 1

[Kilde] IoC-effektiv Autofac

[Kopier lenke]
Publisert på 13.09.2016 13:14:12 | | |
IoC ~ Efficient Autofac

Det er ingen tvil om at Microsofts favoritt IoC-container ikke er spring.net, Unity, men Autofac, på grunn av sin effektivitet og enkelhet, så den brukes også til Microsoft-ledede frukthageprosjekter

illustrerer bruken av en Autofac.


La oss si det nå:

I neste forelesning vil jeg snakke om bruken av Autofac i spesifikke prosjekter for frukthageprosjekter.

Se nå på livssyklusen dens

1、InstancePerDependency

Lag en ny unik instans for hver avhengighet eller kall. Dette er også standardmåten å lage instanser på.

Offisiell dokumentasjon forklarer: Konfigurer komponenten slik at hver avhengig komponent eller kall til Resolve() får en ny, unik instans (standard).

2、InstancePerLifetimeScope

I et livssyklusdomene oppretter hver avhengighet eller kall en enkelt delt instans, og for hvert forskjellig livssyklusdomene er instansen unik og ikke delt.

Offisiell dokumentasjon forklarer: Konfigurer komponenten slik at hver avhengig komponent eller kall til Resolve() i en enkelt ILifetimeScope får den samme, delte instansen. Avhendte komponenter i ulike livstidsomfang vil få forskjellige instanser.

3、InstancePerMatchingLifetimeScope

I et identifisert livssyklusdomene oppretter hver avhengighet eller kall en enkelt delt instans. Instanser i foreldredomenet kan deles i barneidentitetsdomenet til det identifiserte livssyklusdomenet. Hvis det ikke finnes noe identifisert livssyklusdomene i hele arverarkarkiet, kastes et unntak: DependencyResolutionException.

Offisiell dokumentasjon forklarer: Konfigurer komponenten slik at hver avhengig komponent eller kall til Resolve() i en ILifetimeScope tagget med en av de oppgitte taggene får samme delte instans. Avhengige komponenter i livstidsscopes som er barn av det taggede scope, vil dele foreldrenes instans. Hvis det ikke finnes et passende merket omfang i hierarkiet, kastes en DependencyResolutionException.

4、InstancePerOwned

I livssyklusen til en instans opprettet av en instans eid i et livssyklusdomene, oppretter hver avhengig komponent eller kall til Resolve()-metoden en enkelt delt instans, og det barnlige livssyklusdomenet deler instansene i det overordnede livssyklusdomenet. Hvis det ikke finnes et egnet livssyklusdomene med barneinstanser i arvehierarkiet, kastes et unntak: DependencyResolutionException.

Den offisielle dokumentasjonen forklarer:

Konfigurer komponenten slik at hver avhengig komponent eller kall til Resolve() i et ILifetimeScope opprettet av en eid instans får den samme, delte instansen. Avhengige komponenter i livstidsomfang som er barn av den eide instansens omfang vil dele foreldrenes instans. Hvis det ikke finnes noe passende eid instansomfang i hierarkiet, kastes en DependencyResolutionException.

5、SingleInstance

Hver gang du er avhengig av en komponent eller kaller Resolve()-metoden, får du den samme delte instansen. Faktisk er det en singleton-modell.

Offisiell dokumentasjon forklarer: Konfigurer komponenten slik at hver avhengig komponent eller kall til Resolve() får den samme, delte instansen.

6、InstancePerHttpRequest

I sammenheng med en HTTP-forespørsel, del en instans av en komponent. Tilgjengelig kun for asp.net MVC-utvikling.





Foregående:MVCs ActionResult
Neste:ConcurrentDictionary vs. Dictionary+Locking - Dennis Gao
 Vert| Publisert på 13.09.2016 13:15:50 |
Nuget-installasjonsmetode:

Installer Autofac

Install-Package Autofac
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com