Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 57373|Válasz: 4

[Forrás] ASP.NET Core (VI) DI manuálisan megszerzi az objektumok befecskendezésének módszerét

[Linket másol]
Közzétéve: 2021-3-19 15:13:15 | | |
Tutorial on ASP.NET Core Dependency Injection, Control Inversion (DI IOC):

ASP.NET A magfüggőségi injekció a hozzá tartozó IOC konténert használja
https://www.itsvse.com/thread-7562-1-1.html


Szemle:

ASP.NET Core (öt) CAP elosztott tranzakciókon alapul
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) szűrő egységes ModelState modellvalidáció
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Dinamikusan hozz létre példányokat az ActivatorUtilities használatával
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Újraindítsa az alkalmazást kód szerint
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) Redis gyorsítótárat használ
https://www.itsvse.com/thread-9393-1-1.html
A függőség injekciója röviden:

A függőségi injekció (DI) egy olyan technika, amely laza kapcsolódást valósít meg egy objektum és annak együttműködői vagy függőségei között. Biztosítsd ezeket az objektumokat, amelyeket az osztály a műveletek végrehajtásához használ, valamilyen módon az osztálynak, ahelyett, hogy közvetlenül létrehoznánk a munkatársakat vagy statikus hivatkozásokat használnánk.

ASP.NET A Core DI általában konstruktor injekciót használ objektumok megszerzésére, például a ConfigureServices injekció konfigurálása után az alábbi módokon érhető el:


Mi van, ha kézzel veszed be az injekciós tárgyat?

Az első módja annak, hogy megszerezzük(Néha nem lehet megszerezni,Nem ajánlott):


A második módja annak, hogy megszerezzükAjánlott felhasználás):

Megjegyzés: Fontos megjegyezni, hogy a ServiceLocator.Instance.GetService<T>() használatával; ,Csak az AddTransient és AddSingleton által injektált objektumok lehet beszerezni, és nem tudja megszerezni az AddScoped által befecskendezett objektumot (amely egyedi a kérés életciklusában), nem azért, mert nem lehet elérni, hanem mert a megszerzett objektumot nem a konstruktor szerezi meg, vagyis a megszerzett objektumot nem osztják meg, és a használati forgatókönyv olyan, mint az IUnitOfWork.

Hogyan lehet kézzel megszerezni az injekciós objektumokat a kérés életciklusa alatt? Íme, hogyan:


vagy

Az IHttpContextAccessor felület a Microsoft.AspNetCore.Http.AbstractionsNuget csomag alatt található.




Előző:A HttpClient POST közvetlenül a byte byte (gzip) tömörítési kérések küldéséhez
Következő:A különbség a Roslyn MSBuild fordító között
Közzétéve: 2021-9-22 20:43:14 |
Tanulj meg...
Közzétéve: 2021-9-22 20:55:17 |
Tanulj meg...
Közzétéve: 2022-6-17 16:05:39 |
Tanuld meg, hogyan kell használni
 Háziúr| Közzétéve: 2024-12-30 17:09:09 |
A konzol beépíti az IHttpContextAccessor interfészt:



A .NET/C# konzol szolgáltatások a Consul szolgáltatás felfedezésnél vannak regisztrálva.
https://www.itsvse.com/thread-10899-1-1.html
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com