2010-05-03 7 views
1

J'héberge un service WCF dans une application winform. Je veux suivre quand quelqu'un appelle le service à une zone de texte sur la forme comme:Appelez l'hôte de service WCF directement

2:23 Méthode X appelée params (x, y)
02h24 Méthode Y appelé params (z)

I J'utilise un hôte de service pour la WCF et dans ma classe concrète j'ai créé quelques délégués et événements. Je ne peux pas sembler câbler les événements parce que mon objet est de type ServiceHost pas mon objet.

Toute aide

Répondre

3

Il existe plusieurs façons. Vous pouvez rendre ces événements statiques.

ou

vous pouvez faire votre service un singleton alors vous pouvez dire

MyService service =new MyService(); 
service.EventA += EventHandeler(); 
new ServiceHost(service).Open(); 

En outre, lorsque vos éléments les mises à jour du service de l'interface utilisateur Web vous pourriez avoir besoin pour vous assurer que le fil droit fait le travail. Cela s'applique à WPF et winforms. Synchronization Contexts in WCF

+0

Merci Vitalik, en passant dans une instance de la classe à WCF à câbler est exactement ce que je cherchais! – Steven