Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 253|Antwoord: 0

[ASP.NET] ASP.NET Core (32) is afhankelijk van het injecteren van KeyedServices-sleutelservices

[Link kopiëren]
Geplaatst op 11-10-2025 11:15:07 | | | |
Wat is KeyedServices?

Afhankelijkheidsinjectie (DI) is alomtegenwoordig in ASP.NET Core. Je kunt het gebruiken voor aangepaste services, maar belangrijker nog, het framework zelf gebruikt altijd DI. Het meeste wat je in ASP.NET Core kunt configureren, is via DI geconfigureerd.

Voor keyed services wordt een ander stukje informatie opgeslagen in de ServiceDescriptor, de ServiceKey die wordt gebruikt om de service te identificeren. De sleutel kan elk object zijn, maar meestal string of enum (kunnen constanten zijn, dus het kan in eigenschappen worden gebruikt). Voor niet-gesleutelde diensten, identiteitsregistratie; Voor keying-diensten wordt de gecombineerde identiteitsregistratie met ServiceType geregistreerd. ServiceTypeServiceKey。

Een keying-service verwijst naar een mechanisme dat sleutels gebruikt om afhankelijkheidsinjectie-diensten (DI) te registreren en op te halen. Registreer een dienst door AddKeyedSingleton (of AddKeyedScoped of AddKeyedTransient) aan te roepen, gekoppeld aan een sleutel. Gebruik de [FromKeyedServices]-eigenschap om de sleutel aan te geven om toegang te krijgen tot de geregistreerde dienst.

  • AddKeyedScoped
  • AddKeyedSingleton
  • AddKeyedTransient

KeyedServices-testen

Maak een nieuwe interface om meldingen te verzenden, implementeert e-mail-, SMS- en berichtpushmethoden, registreert via de key service en roept de specifieke implementatie aan door de service-ID op te geven; de code is als volgt:
Voer uit zoals hieronder weergegeven:



Het injecteren van code via een constructor is als volgt:

Referentie:
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.




Vorig:OneKey Pro cryptocurrency hardware wallet aankooptutorial
Volgend:Linux-servers verwerken nginx-logs op basis van logrotate
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com