2010-12-06 27 views
0

Salut
Bien que ce soit une chose simple, je ne sais pas comment le faire.
Je suis en train de signer le dll à des événements qui se produisent sur le côté serveur.
les clients a une instance de cette dll et ils doivent recevoir des notifications du serveur.
sur le service que je définis (C#):
événements de collecte de services WCF à consommer dll

public delegate ActionResult ActionComplitedHandler(object sender,ActionComplitedEventArgs e); 

. Mais en essayant de signer la DLL à l'événement, je ne peux pas le voir.

mySeriveInstance.ActionComplited+=... //(I don't get the eventHandler after the dot) 

Je préfère ne pas utiliser le rappel WCF.
L'instance de service WCF est unique.
Que dois-je faire mal et est là une autre méthode pour le faire?
Merci.

+0

Vous ne pouvez pas utiliser autocomplétion ou vous ne pouvez pas recevoir l'événement? –

+0

Je ne vois pas l'autocomplé. – Igal

Répondre

0

Il y a deux façons de base que vous pouvez faire:

1.) Vous pouvez auto-hôte un service WCF dans votre application client, et dans l'appel à votre carte de serveur dans l'adresse IP de la machine client . Le serveur peut alors construire un proxy et de rappeler au client quand il veut envoyer un événement

2.) Vous pouvez interroger les événements du serveur chaque si souvent. Donnez à chaque client un identifiant dans sa réponse de service, puis il peut appeler le serveur avec cet identifiant de temps en temps. Vous pouvez utiliser la mise en cache côté serveur pour stocker une liste d'événements non distribués, puis lorsqu'un client clique sur ce lien, vous renvoyez l'événement le plus ancien pour le client.