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ó magyarázza: Konfiguráljuk a komponenst úgy, hogy minden függő komponens vagy hívás a Resolve()-ra egy ILifetimeScope keretében, amelyet egy saját példány hoz, ugyanazt, 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. A hivatalos dokumentáció magyarázza: Oszd meg az egy komponens példányát egyetlen HTTP kérés keretében. Hivatalos dokumentációs link: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html
|