Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 413|Répondre: 0

[Pourboires] Outil d’enregistrement du service d’injection de dépendances .NET/C#

[Copié le lien]
Publié le 2025-9-4 09:37:00 | | |
Exigences : Lorsque le projet est relativement volumineux et que la syntaxe d’écriture est très standardisée, lorsque nous ajoutons une interface, nous devons l’ajouter manuellement dans le conteneur IServiceCollection, afin que l’interface puisse être injectée dans le constructeur. L’outil Scrutor est très pratique pour nous afin d’ajouter automatiquement selon notre configuration de règles.

Scrutor

Microsoft.Extensions.DependencyInjection pour l’analyse et la décoration d’assemblages des extensions.

Adresse du code source :La connexion hyperlientérée est visible.

révision

En regardant l’immatriculation du service, les trois méthodes d’injection monotons sont les suivantes :

Enregistrement du service

Supposons que vous ayez une structure de code comme celle-ci :

Définitions d’interface
interface public IUserService { }
interface publica IOrderService { }

Classe d’implémentation
classe publique UserService : IUserService { }
public class OrderService : IOrderService { }

avant

L’inscription est obligatoire une par une, et le code est le suivant :

Ou écrire ta propre méthode et l’enregistrer par réflexion (En fait, Scrutor est aussi par la réflexion), comme suit :

après

Scrutor facilite très facilement l’enregistrement des assemblages, notamment pour enregistrer automatiquement plusieurs classes de service (par exemple, UserService enregistré sous IUserService). Les dépendances des paquets sont les suivantes :

Le code est le suivant :

Interprétation:
  • . <UserService>FromAssemblyOf() : Spécifie l’assemblage à scanner.
  • . AddClasses() : Scanne toutes les classes de l’ensemble assembleur.
  • . AsImplementedInterfaces() : Enregistre automatiquement les interfaces pour ces classes au fur et à mesure de leur implémentation.
  • . WithScopedLifetime() : Réglez la durée de vie sur Scoped, qui peut aussi être WithTransientLifetime() ou WithSingletonLifetime().

(Fin)




Précédent:.NET/C# convertit des PDF en images basées sur ImageMagick, GhostScript
Prochain:Alibaba Cloud monte OSS dans le répertoire système Linux
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com