J'ai un service (Service1) qui utilise un autre serice (Service2). J'utilise l'injection de dépendance pour les deux services et j'ai besoin d'injecter le proxy pour Service2 dans Service1. Je ne sais pas comment gérer le fait que le proxy n'est pas une simple classe de type IService2 mais un proxy héritant de ClientBase. Il est évident que mon implémentation Service1 doit ouvrir le proxy et le fermer après utilisation ou l'abandonner si une exception survient mais si je ne fais qu'injecter une instance de IService2, je ne peux pas le faire (sans cast) car les méthodes Open, Close et Abort sont sur la classe de base alors que mes opérations sont sur l'interface. Quand il s'agit de tester Service1, je m'attendrais à se moquer de l'interface mais si l'implémentation de Service1 attend des méthodes Open, Close et Abort, alors c'est compliqué. Dans le passé, j'ai fait quelque chose de hacky comme ça mais il doit y avoir un meilleur moyen!Injection de dépendances avec proxy WCF
var proxyBase = _service2 as ClientBase;
if (proxyBase != null)
{
proxyBase.Open();
}
_service2.DoOperation("blah"); //the actual operation
if (proxyBase != null)
{
proxyBase.Close();
}
// repeat for Abort in exception handler(s).
Que font les autres personnes?
Merci
@ the-folower-guy Veuillez mettre à jour le lien dans votre commentaire. Merci –