Je travaille actuellement avec un grand nombre de liaisons qui sont en cours d'installation dans une solution API Web ASP.NET et pour la plupart WhenInjectedInto est utilisé avec Ninject. Pour appliquer mon aspect de l'exploitation forestière, je dois ajouter à chaque fixationApplication de l'intercepteur ninject à plusieurs liaisons
.Intercept().With<LoggingAspect>();
par exemple
Bind<IMyServiceClass>().To<MyService>()
.WhenInjectedInto<SomeOtherClass>()
.Intercept().With<LoggingAspect>();;
qui est un peu fastidieux, surtout quand je veux passer d'interception et non interception et j'ai plus de 100 liaisons comme ça.
Existe-t-il un moyen de lier l'intercepteur de type loggingaspect à toutes les liaisons contenues dans ninject?
ou peut-être que je devrais appliquer l'intercepteur à tout et juste avoir l'intercepteur faire une vérification et exécuter le code d'interception ou pas?
que diriez-vous de créer les liaisons par convention? De cette façon, vous n'auriez qu'à adapter la convention. Comment savez-vous actuellement si le type doit être intercepté ou non? – BatteryBackupUnit
Je veux tout intercepter afin que je chronomètre les appels de méthode pour trouver les appels en cours d'exécution lente et aussi quels paramètres ont été utilisés à ce moment. Tout fonctionne bien, mais j'essaie de trouver une façon plus simple de le faire. La convention serait acceptable, mais la façon dont l'API a été conçue signifie qu'elle utilise .WhenInjectedInto partout, ce qui rend difficile l'utilisation de la convention –