See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 57373|Vastuse: 4

[Allikas] ASP.NET Core (VI) DI saab käsitsi objektide süstimise meetodi

[Kopeeri link]
Postitatud 2021-3-19 15:13:15 | | |
Õpetus ASP.NET Core Dependency Injection, Control Inversion (DI IOC) kohta:

ASP.NET Core sõltuvussüstimine kasutab sellega kaasas olevat IOC konteinerisse
https://www.itsvse.com/thread-7562-1-1.html


Läbivaatamine:

ASP.NET Core (viis) põhineb CAP hajutatud tehingutel
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) filter ühtlustatud ModelState mudeli valideerimine
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Dünaamiliselt loo instantse ActivatorUtilities abil
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Taaskäivita rakendus koodi järgi
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) kasutab Redis vahemällu salvestamist
https://www.itsvse.com/thread-9393-1-1.html
Sõltuvuse süstimine lühidalt:

Sõltuvuse süstimine (DI) on tehnika, mis rakendab lahtist sidumist objekti ja selle kaastöötajate või sõltuvuste vahel. Anna need objektid, mida klass kasutab oma toimingute tegemiseks, klassile mingil moel, mitte otseselt koostööpartnereid käivitada või staatilisi viiteid kasutada.

ASP.NET Core DI kasutab tavaliselt konstruktori süstimist objektide saamiseks, näiteks pärast ConfigureServices'i süstimise seadistamist, saab seda saada järgmistel viisidel:


Mis siis, kui saad süstimisobjekti käsitsi kätte?

Esimene viis selle saamiseks(Mõnikord ei saa seda kätte,Ei soovita):


Teine viis selle saamiseksSoovitatav kasutus):

Märkus: Tuleb märkida, et kasutades ServiceLocator.Instance.GetService<T>(); ,Ainult AddTransient'i ja AddSingletoni poolt süstitud objekte saab tuua, ja ei saa AddScopedi süstitud objekti (mis on päringu elutsüklis ainulaadne), mitte sellepärast, et seda ei saa saada, vaid kuna omandatud objekti ei saa konstruktor, st omandatud objekti ei jagata ja kasutusstsenaarium on nagu IUnitOfWork.

Kuidas siis käsitsi saada süstimisobjekte päringu elutsükli jooksul? Siin on, kuidas:


või

IHttpContextAccessor liides asub Microsoft.AspNetCore.Http.AbstractionsNuget paketi all.




Eelmine:HttpClient POST otse baitbaitide (gzip) tihenduspäringute saatmiseks
Järgmine:Erinevus Roslyn MSBuild kompilaatori vahel
Postitatud 2021-9-22 20:43:14 |
Õpi õppima...
Postitatud 2021-9-22 20:55:17 |
Õpi õppima...
Postitatud 2022-6-17 16:05:39 |
Õpi seda kasutama
 Üürileandja| Postitatud 2024-12-30 17:09:09 |
Konsool süstib IHttpContextAccessor liidest:



.NET/C# konsooliteenused on registreeritud Consul teenuse avastamise kaudu
https://www.itsvse.com/thread-10899-1-1.html
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com