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: 2964|Odpověď: 0

[Zdroj] ASP.NET Základní (dvacet pět) závislostí vkládá inicializaci Lazy lazy lazy

[Kopírovat odkaz]
Zveřejněno 10.10.2023 21:14:31 | | | |
Požadavky: Přidejte služby ASP.NET Core, injekčujte služby přes konstruktory a chcete zpožďovat inicializaci implementační třídy (odlišné logické zpracování podle HTTP kontextových požadavků) a uvažujte o použití Lazy<T> pro lazy pro lazy inicializaci.

Přezkoumání:

Jak Lazy v C# chrání vlákna
https://www.itsvse.com/thread-10621-1-1.html

Optimalizace výkonu v C#: Lazy inicializuje lazy s <T>prodlevou
https://www.itsvse.com/thread-7700-1-1.html
Injektujte přímo do rozhraní

Konstruktor je přímo vložen do služby rozhraní a kód je následující:

Pořadí provedení je následující:



Můžete vidět následující pořadí provádění: IA implementační třída -> HomeController konzole -> index method

Inicializace s Lazy delay

Pokud konstruktor řadičů změní IA na Lazy<IA>, chyba bude vypadat takto:

InvalidOperationException: Unable to resolve service for type 'System.Lazy`1[WebApplication6.IA]' while attempting to activate 'WebApplication6.Controllers.HomeController'.
Chyba je způsobena tím, že jsme se nezaregistrovali pro služby související s Lazy, musíme zaregistrovat generickou službu Lazy<> kód je následující:

Přidat do služby:

Pořadí provedení je následující:



Pořadí provádění můžete vidět: HomeController console -> Index method -> třída implementace IA, můžete ji vidětInicializace zpoždění rozhraní IApři vyvolání instancuje implementační objekt IA.

(Konec)





Předchozí:CIDR: Přečtěte si popis adresy CIDR v jednom článku
Další:Front-end ukládá balíček localForage pro IndexedDB
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