Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 57373|Odpověď: 4

[Zdroj] ASP.NET Core (VI) DI ručně získává metodu vstřikování objektů

[Kopírovat odkaz]
Zveřejněno 19. 3. 2021 15:13:15 | | |
Tutoriál na ASP.NET injekci závislostí jádra, inverzi řízení (DI IOC):

ASP.NET Core dependency injection využívá IOC kontejner, který je součástí této složky
https://www.itsvse.com/thread-7562-1-1.html


Přezkoumání:

ASP.NET Core (pět) je založen na distribuovaných transakcích podle CAP
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Filtr Core(4) sjednocený validace modelů ModelState
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Jádro (iii) Dynamicky vytvářet instance pomocí ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Jádro (2) Restartovat aplikaci pomocí kódu
https://www.itsvse.com/thread-9480-1-1.html

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

Injekce závislostí (DI) je technika, která implementuje volné propojení mezi objektem a jeho spolupracovníky nebo závislostmi. Poskytněte tyto objekty, které třída používá k provádění svých operací vůči třídě nějakým způsobem, místo přímého instancování spolupracovníků nebo používání statických referencí.

ASP.NET Core DI obvykle používá injekci konstruktorů k získání objektů, například po konfiguraci injekce ConfigureServices lze ji získat následujícími způsoby:


Co když ručně získáte injekční objekt?

První způsob, jak ho získat(Někdy to nemůžete pochopit,Nedoporučuje se):


Druhý způsob, jak ho získatDoporučené použití):

Poznámka: Je třeba poznamenat, že pomocí ServiceLocator.Instance.GetService<T>(); ,Lze načíst pouze objekty injektované pomocí AddTransient a AddSingleton, a nemůže získat injektovaný objekt AddScoped (jedinečný v životním cyklu požadavku), ne proto, že by ho nemohl získat, ale protože získaný objekt není konstruktorem získán, tedy že není sdílen a scénář použití je podobný IUnitOfWork.

Jak tedy ručně získáš objekty pro injekci během životního cyklu požadavku? Zde je návod, jak na to:


nebo

Rozhraní IHttpContextAccessor je součástí balíčku Microsoft.AspNetCore.Http.AbstractionsNuget.




Předchozí:HttpClient POST přímo pro odeslání požadavků na kompresi bajtů bajtů (gzip)
Další:Rozdíl mezi kompilátorem Roslyn MSBuild
Zveřejněno 2021-9-22 20:43:14 |
Uč se učit...
Zveřejněno 2021-9-22 20:55:17 |
Uč se učit...
Zveřejněno 17. 6. 2022 16:05:39 |
Naučte se ho používat
 Pronajímatel| Zveřejněno 30. 12. 2024 17:09:09 |
Konzole vkládá rozhraní IHttpContextAccessor:



.NET/C# konzolové služby jsou registrovány u Consul service discovery
https://www.itsvse.com/thread-10899-1-1.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com