Maison > développement back-end > C++ > Comment résoudre plusieurs implémentations de services avec des clés personnalisées dans ASP.NET Core?

Comment résoudre plusieurs implémentations de services avec des clés personnalisées dans ASP.NET Core?

Patricia Arquette
Libérer: 2025-01-29 21:16:11
original
584 Les gens l'ont consulté

How to Resolve Multiple Service Implementations with Custom Keys in ASP.NET Core?

Utilisez la clé personnalisée pour résoudre plusieurs services dans ASP.NET Core pour réaliser

Lors de l'enregistrement de plusieurs implémentations spécifiques de la même interface dans ASP.NET Core, vous pouvez rencontrer des clés uniques de définition pour distinguer leurs restrictions. Cependant, vous pouvez utiliser la Commission pour analyser la mise en œuvre appropriée lors de l'exécution pour résoudre ce problème.

Pour cela, veuillez suivre les étapes ci-dessous:

    Commission de définition et de partage:
  1. Créer une commission appelée

    , il accepte une clé et renvoie une instance
      .
    • ServiceResolver IService
    Enregistrement des touches d'implémentation et de mappage spécifiques:
  2. Utilisez pour enregistrer chaque implémentation spécifique dans le fichier .

      Ajouter un enregistrement de l'inspecteur
    • . Dans cet enregistrement, utilisez l'instruction pour utiliser le AddTransient pour cartographier la clé de l'implémentation spécifique correspondante. Startup.cs
    • ServiceResolver switch Utilisez Serveresolver: GetService
  3. Dans la classe enregistrée via DI, utilisez
  4. pour obtenir l'implémentation réelle. Passez les touches appropriées en tant que paramètre à l'analyseur.

      Exemple:
    • ServiceResolver
    Remarque:
  5. Cette solution ne résoudra pas le problème du constructeur d'injection de données pendant la période d'inscription. Pour cette raison, veuillez envisager d'explorer d'autres mécanismes, tels que
ou l'implémentation de conteneur personnalisé.

Cette réponse révisée maintient l'image et son format d'origine tandis que ce soit.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal