Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 57373|Odpoveď: 4

[Zdroj] ASP.NET Core (VI) DI manuálne získava metódu injektovania objektov

[Kopírovať odkaz]
Zverejnené 19. marca 2021 o 15:13:15 | | |
Návod na ASP.NET injekciu závislostí jadra, inverzii riadenia (DI IOC):

ASP.NET Core dependency injection využíva IOC kontajner, ktorý je súčasťou
https://www.itsvse.com/thread-7562-1-1.html


Revízia:

ASP.NET Core (päť) je založený na distribuovaných transakciách podľa CAP
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) filter zjednotený validácia modelu ModelState
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Jadro (iii) Dynamicky vytvárať inštancie pomocou ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Reštartovať aplikáciu pomocou kódu
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) používa Redis caching
https://www.itsvse.com/thread-9393-1-1.html
Závislostná injekcia v skratke:

Dependency injection (DI) je technika, ktorá implementuje voľné prepojenie medzi objektom a jeho spolupracovníkmi alebo závislosťami. Poskytnúť tieto objekty, ktoré trieda používa na vykonávanie svojich operácií s triedou nejakým spôsobom, namiesto priameho inštancionovania spolupracovníkov alebo používania statických referencií.

ASP.NET Core DI zvyčajne používa injekciu konštruktorov na získanie objektov, napríklad po konfigurácii injekcie ConfigureServices ju možno získať nasledujúcimi spôsobmi:


Čo ak manuálne získaš injekčný objekt?

Prvý spôsob, ako ho získať(Niekedy to nemôžete pochopiť,Neodporúča sa):


Druhý spôsob, ako ho získaťOdporúčané použitie):

Poznámka: Treba poznamenať, že pomocou ServiceLocator.Instance.GetService<T>(); ,Načítať je možné len objekty injektované pomocou AddTransient a AddSingleton, a nemôže získať injektovaný objekt AddScoped (jedinečný v životnom cykle požiadaviek), nie preto, že by nemohol byť získaný, ale preto, že získaný objekt nie je získaný konštruktorom, t. j. nie je zdieľaný a scenár použitia je ako IUnitOfWork.

Ako teda manuálne získate objekty injekcie počas životného cyklu požiadaviek? Tu je ako:


alebo

Rozhranie IHttpContextAccessor je v balíku Microsoft.AspNetCore.Http.AbstractionsNuget.




Predchádzajúci:HttpClient POST priamo na odosielanie požiadaviek na kompresiu bajtových bajtov (gzip)
Budúci:Rozdiel medzi kompilátorom Roslyn MSBuild
Zverejnené 2021-9-22 20:43:14 |
Nauč sa učiť...
Zverejnené 2021-9-22 20:55:17 |
Nauč sa učiť...
Zverejnené 17. 6. 2022 o 16:05:39 |
Naučte sa ho používať
 Prenajímateľ| Zverejnené 30.12.2024 17:09:09 |
Konzola vkladá rozhranie IHttpContextAccessor:



.NET/C# konzolové služby sú registrované v Consul service discovery
https://www.itsvse.com/thread-10899-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com