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

Nézet: 20690|Válasz: 1

[Forrás] Az autofac instance-létrehozás módszertanának összefoglalása

[Linket másol]
Közzétéve 2018. 01. 05. 21:25:48 | | |

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




Előző:asp.net Szerezd meg a site directory file is empty
Következő:GeckoFx Firefox kernel csere, rendszerfigyelmeztetés tiltja ki a rendszerfelugró figyelmeztetést
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