Qu’est-ce que KeyedServices ?
L’injection de dépendance (DI) est omniprésente dans ASP.NET Core. Vous pouvez l’utiliser pour des services personnalisés, mais surtout, le framework lui-même utilise toujours aussi la DI. La plupart de ce que vous pouvez configurer dans ASP.NET Core est configuré via DI.
Pour les services à clé, une autre information est stockée dans le ServiceDescriptor, qui est la Clé de Service utilisée pour identifier le service. La clé peut être n’importe quel objet, mais généralement une chaîne ou un enum (peuvent être des constantes, donc elle peut être utilisée dans les propriétés). Pour les services non clés, enregistrement d’identité ; Pour les services de clé, l’enregistrement combiné de l’identité avec ServiceType est enregistré. ServiceTypeServiceKey。
Un service de clé fait référence à un mécanisme qui utilise des clés pour enregistrer et récupérer des services d’injection de dépendances (DI). Enregistrez un service en appelant AddKeyedSingleton (ou AddKeyedScoped ou AddKeyedTransient), associé à une clé. Utilisez la propriété [FromKeyedServices] pour spécifier la clé d’accès au service enregistré.
- AddKeyedScoped
- AdditionToucheSingleton
- AddKeyedTransient
Tests KeyedServices
Créer une nouvelle interface pour envoyer des notifications, implémenter des méthodes d’envoi par email, SMS et message, enregistrer via le service clé, et appeler son implémentation spécifique en spécifiant l’ID du service ; le code est le suivant :
Exécutez comme indiqué ci-dessous :
L’injection de code via un constructeur est la suivante :
Référence:
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible. |