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

Nézet: 2964|Válasz: 0

[Forrás] ASP.NET Core (huszonöt) függőségek injektálnak Lazy lazy lazy initialization

[Linket másol]
Közzétéve 2023. 10. 10. 21:14:31 | | | |
Követelmények: Add hozzá szolgáltatásokat a Core ASP.NET, injektáljunk szolgáltatásokat konstruktorokon keresztül, és szeretnénk késleltetni a megvalósítási osztály inicializálását (eltérő logikai feldolgozás a HTTP kontextuskérés információja szerint), és gondolj arra, hogy a lazy<T> helyett lazy inicializációhoz használjuk.

Szemle:

Hogyan tartja biztonságban a C# lustasága a szálakat
https://www.itsvse.com/thread-10621-1-1.html

C# teljesítményoptimalizálás: Lazy késleltetéssel inicializálja a lustát <T>
https://www.itsvse.com/thread-7700-1-1.html
Közvetlenül az interfészbe fecskendezni

A konstruktor közvetlenül az interfész szolgáltatásba kerül, és a kód a következő:

A kivégzési parancs a következő:



A következő végrehajtási sorrend látható: IA implementációs osztály -> HomeController konzol -> index módszer

Inicializálás lusta késleltetéssel

Ha a vezérlő konstruktor IA-t lustaságra <IA>változtatja, a hiba így néz ki:

InvalidOperationException: Unable to resolve service for type 'System.Lazy`1[WebApplication6.IA]' while attempting to activate 'WebApplication6.Controllers.HomeController'.
A hiba azért van, mert nem regisztráltunk Lazy<> általános szolgáltatásra, a kód a következő:

Szolgáltatás hozzáadása:

A kivégzési parancs a következő:



Láthatod a végrehajtási sorrendet: HomeController konzol -> Index method -> IA implementációs osztály, láthatodIA interfész késleltetési inicializálásamegvalósítja az IA implementációs objektumot, amikor hívják.

(Vége)





Előző:CIDR: Olvassa el a CIDR címleírását egy cikkben
Következő:A front-end tárolja az IndexedDB localForage csomagját
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