Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 57373|Vastaus: 4

[Lähde] ASP.NET Core (VI) DI saa manuaalisesti menetelmän objektien injektioon

[Kopioi linkki]
Julkaistu 2021-3-19 klo 15:13:15 | | |
Opastus ASP.NET Core Dependency Injectionista, Control Inversion (DI IOC):

ASP.NET Ytimen riippuvuuden injektio käyttää mukana tulevaa IOC-säiliötä
https://www.itsvse.com/thread-7562-1-1.html


Arvostelu:

ASP.NET Core (viisi) perustuu CAP:n hajautettuihin transaktioihin
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) -suodatin yhdisti ModelState-mallin validoinnin
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Luo instansseja dynaamisesti ActivatorUtilitiesin avulla
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Ydin (2) Käynnistä sovellus uudelleen koodin mukaan
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) käyttää Redis-välimuistia
https://www.itsvse.com/thread-9393-1-1.html
Riippuvuuden injektiointi pähkinänkuoressa:

Riippuvuuden injektio (DI) on tekniikka, jossa toteutetaan löyhä kytkentä objektin ja sen yhteistyökumppaneiden tai riippuvuuksien välillä. Tarjoa nämä objektit, joita luokka käyttää operaatioidensa suorittamiseen, luokalle jollain tavalla, sen sijaan että suoraan luotaisiin yhteistyökumppaneita tai käytettäisiin staattisia viittauksia.

ASP.NET Core DI käyttää yleensä konstruktorien injektiota objektien saamiseksi, esimerkiksi ConfigureServices-injektion konfiguroinnin jälkeen se voidaan saada seuraavilla tavoilla:


Entä jos hankit pistosesineen manuaalisesti?

Ensimmäinen tapa saada se(Joskus et saa sitä,Ei suositella):


Toinen tapa saada seSuositeltu käyttö):

Huomautus: On syytä huomioida, että käyttämällä ServiceLocator.Instance.GetService<T>(); ,Vain AddTransientin ja AddSingletonin injektioimat objektit voidaan hakea, eikä se voi saada injektoitua AddScopedin objektia (ainutlaatuinen pyynnön elinkaarella), ei siksi, ettei sitä voisi saada, vaan koska hankittua objektia ei saa konstruktori, eli hankittua objektia ei jaeta, ja käyttötilanne on esimerkiksi IUnitOfWork.

Miten siis saat injektiokohteet manuaalisesti pyynnön elinkaaren aikana? Näin näin:


tai

IHttpContextAccessor-rajapinta löytyy Microsoft.AspNetCore.Http.AbstractionsNuget-paketista.




Edellinen:HttpClient POST suoraan lähettääkseen tavutavun (gzip) pakkauspyynnöt
Seuraava:Ero Roslyn MSBuild -kääntäjän välillä
Julkaistu 2021-9-22 20:43:14 |
Opettele oppimaan...
Julkaistu 2021-9-22 klo 20:55:17 |
Opettele oppimaan...
Julkaistu 2022-6-17 klo 16:05:39 |
Opettele käyttämään sitä
 Vuokraisäntä| Julkaistu 30.12.2024 klo 17:09:09 |
Konsoli lisää IHttpContextAccessor-rajapinnan:



.NET/C#-konsolipalvelut on rekisteröity Consul-palvelun löytämiseen
https://www.itsvse.com/thread-10899-1-1.html
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com