2011-09-14 4 views
1

Nous utilisons ChannelFactory pour nous connecter à notre service WCF. Lorsque je fais un appel au service, je veux que l'usine Channel déclenche un autre événement. Quelque chose comme 'OnFunctionCall'. Comment puis-je ajouter un tel gestionnaire d'événement à ChannelFactory. Je suis un peu pressé, alors j'espère que quelqu'un pourra m'aider.Événement déclencheur de ChannelFactory

Travailler avec C#, .Net 3.5 SP1

Cordialement

Répondre

2

Une solution possible est de créer un comportement de point final et le fixer à l'extrémité d'usine (voir ci-dessous). Ce comportement ajouterait un inspecteur aux canaux créés par l'usine (qui peut être un IClientMessageInspector ou un IParameterInspector) et votre inspecteur déclencherait l'événement OnFunctionCall chaque fois qu'un message est envoyé au serveur.

var factory = new ChannelFactory<IService>(...); 
factory.Endpoint.Behaviors.Add(new MyInspector()); 

Pour plus d'informations sur le message inspecteurs vous pouvez regarder http://blogs.msdn.com/b/carlosfigueira/archive/2011/04/19/wcf-extensibility-message-inspectors.aspx, et pour les inspecteurs des paramètres que vous pouvez regarder http://blogs.msdn.com/b/carlosfigueira/archive/2011/04/26/wcf-extensibility-iparameterinspector.aspx.

Questions connexes