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: -
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: -
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
Dans la classe enregistrée via DI, utilisez - pour obtenir l'implémentation réelle. Passez les touches appropriées en tant que paramètre à l'analyseur.
Remarque: 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!