Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 21356|Válasz: 1

[Forrás] IoC hatékony Autofac

[Linket másol]
Közzétéve 2016. 09. 13. 13:14:12 | | |
IoC ~ Hatékony Autofac

Kétségtelen, hogy a Microsoft kedvenc IoC konténere nem az spring.net, az Unity, hanem az Autofac, hatékonysága és egyszerűsége miatt, ezért a Microsoft által vezetett gyümölcsös projektekben is használják

az Autofac használatát illusztrálja.


Mondjuk most:

A következő előadásban az Autofac alkalmazásáról fogok beszélni konkrét gyümölcsösi projektekben.

Most nézzük meg az életciklusát

1、InstancePerDependency

Hozz létre egy új egyedi példányt minden függőséghez vagy híváshoz. Ez az alapértelmezett módja az instance-ok létrehozásának is.

A hivatalos dokumentáció magyarázza: Konfiguráld be a komponenst úgy, hogy minden függő komponens vagy hívás a Resolve()-hoz egy új, egyedi példányt kapjon (alapértelmezett).

2、InstancePerLifetimeScope

Egy életciklus-tartományban minden függőség vagy hívás egyetlen közös példányt hoz létre, és minden egyes életciklus tartománynál az instance egyedi, nem megosztott.

A hivatalos dokumentáció magyarázza: Konfiguráljuk a komponenst úgy, hogy minden függő komponens vagy hívás a Resolve()-ra egyetlen ILifetimeScope-on belül ugyanaz, megosztott példányt kapjon. A függő komponensek különböző élettartamú tartományokban különböző példányokat kapnak.

3、InstancePerMatchingLifetimeScope

Egy azonosított életciklus-tartományban minden függőség vagy hívás egyetlen közös példányt hoz létre. A szülő tartományban lévő példányok megoszthatók az azonosított életciklus-tartomány gyermekidentitásos domainjében. Ha az öröklődési hierarchiában nem található azonosított életciklus-tartomány, kivételt dobunk: DependencyResolutionException.

A hivatalos dokumentáció magyarázza: Konfiguráljuk a komponenst úgy, hogy minden függő komponens vagy hívás a Resolve()-ra egy ILifetimeScope-on belül, amely bármely megadott címkével megjelölve van ugyanaz, megosztott példányszámot kapja. Az élethosszig tartó távcsövek függő komponensei, amelyek a címkézett szféra gyermekei, megosztják a szülő példányát. Ha a hierarchiában nem található megfelelően címkézett scope, akkor DependencyResolutionException kerül elő.

4、InstancePerOwned

Egy példány életciklusának életciklusában, amelyet egy életciklus tartományban birtokolt példány hoz, minden függő komponens vagy hívás a Resolve() metódushoz egyetlen közös példányt hoz, és a gyermek életciklus tartomány megosztja a példányokat a szülői életciklus tartományban. Ha az öröklődési hierarchiában nincs megfelelő életciklus-tartomány gyermekpéldányokkal, kivételt dobunk: DependencyResolutionException.

A hivatalos dokumentáció így magyarázza:

Konfiguráljuk a komponenst úgy, hogy minden függő komponens vagy hívás a Resolve()-hoz egy ILifetimeScope keretében, amelyet egy saját példány hozott létre, ugyanaz, megosztott példányt kapjon. Az élethosszig tartó távcsövek függő komponensei, amelyek a tulajdonjogú instance scope gyermekei, megosztják a szülő példányát. Ha a hierarchiában nem található megfelelő tulajdonos példány hatótávolság, akkor egy DependencyResolutionException kerül elő.

5、SingleInstance

Minden alkalommal, amikor egy komponensre támaszkodsz vagy a Resolve() metódusat hívod, ugyanazt a közös példányt kapod. Valójában ez egy egyszemélyes modell.

A hivatalos dokumentáció magyarázza: Konfiguráld a komponenst úgy, hogy minden függő komponens vagy hívás a Resolve()-hoz ugyanaz, megosztott példányt kapjon.

6、InstancePerHttpRequest

Egy Http kérés kontextusában ossza meg egy komponens példányát. Csak asp.net MVC fejlesztésre érhető el.





Előző:MVC AkcióEredménye
Következő:ConcurrentDictionary vs. Dictionary+Locking - Dennis Gao
 Háziúr| Közzétéve 2016. 09. 13. 13:15:50 |
Nuget telepítési módszer:

Autofac telepítése

Install-Package Autofac
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com