Ce este KeyedServices?
Injectarea de dependență (DI) este omniprezentă în ASP.NET Core. Îl poți folosi pentru servicii personalizate, dar, mai important, framework-ul în sine folosește întotdeauna și DI. Majoritatea lucrurilor pe care le poți configura în ASP.NET Core sunt configurate prin DI.
Pentru serviciile cheie, o altă informație este stocată în ServiceDescriptor, care este ServiceKey folosită pentru a identifica serviciul. Cheia poate fi orice obiect, dar de obicei șir sau enum (poate fi constantă, deci poate fi folosită în proprietăți). Pentru servicii fără cheie, înregistrarea identității; Pentru serviciile de keying, înregistrarea combinată a identității cu ServiceType este înregistrată. ServiceTypeServiceKey。
Un serviciu de cheie se referă la un mecanism care folosește chei pentru a înregistra și recupera servicii de injecție de dependență (DI). Înregistrează un serviciu apelând AddKeyedSingleton (sau AddKeyedScoped sau AddKeyedTransient), asociat cu o cheie. Folosiți proprietatea [FromKeyedServices] pentru a specifica cheia de acces la serviciul înregistrat.
- AddKeyedScoped
- AddKeyedSingleton
- AddKeyedTransient
Testarea KeyedServices
Creează o nouă interfață pentru a trimite notificări, implementează metode de email și SMS push, înregistrează-te prin serviciul cheie și apelează implementarea specifică specificând ID-ul serviciului, codul fiind următorul:
Executați așa cum este prezentat mai jos:
Injectarea codului printr-un constructor este următoarea:
Referință:
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă. |