Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 57373|Atbildi: 4

[Avots] ASP.NET Core (VI) DI manuāli iegūst objektu injicēšanas metodi

[Kopēt saiti]
Publicēts 2021-3-19 15:13:15 | | |
Apmācība par ASP.NET pamata atkarības injekciju, vadības inversiju (DI IOC):

ASP.NET Core atkarības injekcija izmanto IOC konteineru, kas tam pievienots
https://www.itsvse.com/thread-7562-1-1.html


Pārskats:

ASP.NET Core (pieci) ir balstīts uz CAP sadalītajiem darījumiem
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) filtra vienotā ModelState modeļa validācija
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Dinamiski izveidojiet instances, izmantojot ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET kodols (2) Restartējiet lietojumprogrammu pēc koda
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) izmanto Redis kešatmiņu
https://www.itsvse.com/thread-9393-1-1.html
Atkarības injekcija īsumā:

Atkarības injekcija (DI) ir paņēmiens, kas īsteno brīvu savienojumu starp objektu un tā līdzstrādniekiem vai atkarībām. Nodrošiniet šos objektus, kurus klase izmanto, lai kaut kādā veidā veiktu savas darbības ar klasi, nevis tieši instancētu sadarbības partnerus vai izmantotu statiskas atsauces.

ASP.NET Core DI parasti izmanto konstruktora injekciju, lai iegūtu objektus, piemēram, pēc ConfigureServices injekcijas konfigurēšanas, to var iegūt šādos veidos:


Ko darīt, ja jūs manuāli saņemat injekcijas objektu?

Pirmais veids, kā to iegūt(Dažreiz jūs to nevarat iegūt,Nav ieteicams):


Otrais veids, kā to iegūtIeteicamā lietošana):

Piezīme: Jāatzīmē, ka, izmantojot ServiceLocator.Instance.GetService<T>(); ,Var iegūt tikai objektus, ko injicē AddTransient un AddSingletonun nevar iegūt ievadīto AddScoped objektu (unikālu pieprasījuma dzīves ciklā), nevis tāpēc, ka to nevar iegūt, bet tāpēc, ka iegūto objektu neiegūst konstruktors, tas ir, iegūtais objekts netiek koplietots, un lietošanas scenārijs ir tāds kā IUnitOfWork.

Tātad, kā manuāli iegūt injekcijas objektus pieprasījuma dzīves cikla laikā? Tālāk ir aprakstīts, kā to paveikt.


vai

IHttpContextAccessor interfeiss atrodas pakotnē Microsoft.AspNetCore.Http.AbstractionsNuget.




Iepriekšējo:HttpClient POST tieši, lai nosūtītu baitu baitu (gzip) saspiešanas pieprasījumus
Nākamo:Atšķirība starp Roslyn MSBuild kompilatoru
Publicēts 2021-9-22 20:43:14 |
Iemācieties mācīties...
Publicēts 2021-9-22 20:55:17 |
Iemācieties mācīties...
Publicēts 2022-6-17 16:05:39 |
Uzziniet, kā to lietot
 Saimnieks| Publicēts 2024-12-30 17:09:09 |
Konsole injicē IHttpContextAccessor interfeisu:



.NET/C# konsoles pakalpojumi ir reģistrēti Consul pakalpojumu atklāšanā
https://www.itsvse.com/thread-10899-1-1.html
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com