Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 20690|Răspunde: 1

[Sursă] Rezumat al metodologiei instanței de creare autofac

[Copiază linkul]
Postat pe 05.01.2018 21:25:48 | | |

1、InstantPerDependency

Creează o nouă instanță unică pentru fiecare dependență sau apel. Aceasta este și metoda implicită de a crea instanțe.

Documentația oficială explică: Configurați componenta astfel încât fiecare componentă dependentă sau apel către Resolve() să primească o instanță nouă, unică (implicit).



2、InstancePerLifetimeScope

Într-un domeniu de ciclu de viață, fiecare dependență sau apel creează o singură instanță partajată, iar pentru fiecare domeniu diferit de ciclu de viață, instanța este unică și nu este partajată.

Documentația oficială explică: Configurați componenta astfel încât fiecare componentă dependentă sau apel către Resolve() dintr-un singur ILifetimeScope să primească aceeași instanță partajată. Componentele dependente din diferite domenii de viață vor primi instanțe diferite.



3、InstancePerMatchingLifetimeScope

Într-un domeniu de ciclu de viață identificat, fiecare dependență sau apel creează o singură instanță partajată. Instanțele din domeniul părinte pot fi partajate în domeniul identității copilului al domeniului de ciclu de viață identificat. Dacă nu se găsește niciun domeniu identificat al ciclului de viață în întreaga ierarhie a moștenirii, se aruncă o excepție: DependencyResolutionException.

Documentația oficială explică: Configurați componenta astfel încât fiecare componentă dependentă sau apel către Resolve() dintr-un ILifetimeScope etichetat cu oricare dintre valorile etichetei furnizate să primească aceeași instanță partajată. Componentele dependente din domeniile pe viață care sunt copii ale scopului etichetat vor împărți instanța părintelui. Dacă nu se găsește un scop etichetat corespunzător în ierarhie, se aruncă o excepție DependencyResolution.



4、InstancePerOwned

În ciclul de viață al unei instanțe create de o instanță deținută într-un domeniu de ciclu de viață, fiecare componentă dependentă sau apel la metoda Resolve() creează o singură instanță partajată, iar domeniul copilului de ciclu de viață împarte instanțele din domeniul părintelui ciclului de viață. Dacă nu se găsește un domeniu adecvat al ciclului de viață cu instanțe copil în ierarhia de moștenire, se aruncă o excepție: DependencyResolutionException.

Documentația oficială explică: Configurați componenta astfel încât fiecare componentă dependentă sau apel către Resolve() din cadrul unui ILifetimeScope creat de o instanță deținută să primească aceeași instanță partajată. Componentele dependente din scopurile pe durata vieții care sunt copii ale scopului instanței deținute vor împărți instanța părintelui. Dacă nu se găsește un scop de instanță deținut adecvat în ierarhie, se aruncă o excepție DependencyResolution.



5、Instanță Unică

De fiecare dată când depinzi de o componentă sau apelezi metoda Resolve(), primești aceeași instanță partajată. De fapt, este un model singleton.

Documentația oficială explică: Configurați componenta astfel încât fiecare componentă dependentă sau apel către Resolve() să primească aceeași instanță partajată.



6、InstancePerHttpRequest



În contextul unei cereri Http, partajează o instanță a unui component. Disponibil doar pentru dezvoltare asp.net MVC.
Documentația oficială explică: Distribuie o instanță a componentei în contextul unei singure cereri HTTP.
Link pentru documentația oficială: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html




Precedent:asp.net Fișierul directorului site-ului Get este gol
Următor:Înlocuirea nucleului Firefox GeckoFx, dezactivează avertismentul de fereastră pop-up a sistemului
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com