Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 57373|Odgovoriti: 4

[Vir] ASP.NET Core (VI) DI ročno pridobi metodo vbrizgavanja objektov

[Kopiraj povezavo]
Objavljeno 19. 3. 2021 ob 15:13:15 | | |
Vodič o ASP.NET vbrizgavanju odvisnosti jedra, inverziji nadzora (DI IOC):

ASP.NET Core dependency injection uporablja IOC vsebnik, ki je priložen
https://www.itsvse.com/thread-7562-1-1.html


Pregled:

ASP.NET Core (pet) temelji na CAP distribuiranih transakcijah
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) filter unifikiran validacija modelov ModelState
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Jedro (iii) Dinamično ustvarjanje instanc z uporabo ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Jedro (2) Ponovni zagon aplikacije s kodo
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) uporablja Redis predpomnjenje
https://www.itsvse.com/thread-9393-1-1.html
Injekcija odvisnosti na kratko:

Vbrizgavanje odvisnosti (DI) je tehnika, ki izvaja ohlapno povezovanje med objektom in njegovimi sodelavci ali odvisnostmi. Zagotovite te objekte, ki jih razred uporablja za izvajanje svojih operacij v razredu na nek način, namesto da neposredno instancira sodelavce ali uporablja statične reference.

ASP.NET Core DI običajno uporablja vbrizgavanje konstruktorjev za pridobivanje objektov, na primer po konfiguraciji injekcije ConfigureServices, ki ga je mogoče pridobiti na naslednje načine:


Kaj pa, če ročno dobiš objekt za vbrizgavanje?

Prvi način, da ga dobiš(Včasih je ne moreš dobiti,Ni priporočljivo):


Drugi način, da ga dobišPriporočena uporaba):

Opomba: Treba je poudariti, da z uporabo ServiceLocator.Instance.GetService<T>(); ,Lahko se pridobijo le objekti, ki jih vbrizgata AddTransient in AddSingleton, in ne more pridobiti vbrizganega objekta AddScoped (edinstvenega v življenjskem ciklu zahteve), ne zato, ker ga ni mogoče pridobiti, ampak ker pridobljeni objekt ni pridobljen s strani konstruktorja, torej pridobljeni objekt ni deljen in je scenarij uporabe takšen, kot je IUnitOfWork.

Kako torej ročno pridobiš objekte za vbrizgavanje med življenjskim ciklom zahteve? Tukaj je, kako:


ali

Vmesnik IHttpContextAccessor je pod paketom Microsoft.AspNetCore.Http.AbstractionsNuget.




Prejšnji:HttpClient POST neposredno za pošiljanje zahtev za stiskanje bajtnih bajtov (gzip)
Naslednji:Razlika med prevajalnikom Roslyn MSBuild
Objavljeno 2021-9-22 20:43:14 |
Nauči se učiti...
Objavljeno 22. 9. 2021 ob 20:55:17 |
Nauči se učiti...
Objavljeno 17. 6. 2022 ob 16:05:39 |
Naučite se ga uporabljati
 Najemodajalec| Objavljeno 30. 12. 2024 ob 17:09:09 |
Konzola vbrizga vmesnik IHttpContextAccessor:



.NET/C# konzolne storitve so registrirane pri odkrivanju storitev Consul
https://www.itsvse.com/thread-10899-1-1.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com