Comment communiquer entre service WCF et de l'application hôte?
J'ai créé un service WCF par le biais de ce tutoriel. Cela fonctionne très bien, pas de problèmes ici.
Maintenant, je suis hébergement du service dans une Application Gérée. Mais en même temps, je voudrais utilisé l'entrée du client pour le service dans l'application hôte.
Je n'ai pas besoin Duplex de communication entre le Client et le Service. J'ai juste besoin de communication entre le Service et l'Accueil de la communication.
Quelle serait la meilleure façon de traiter ce problème?
OriginalL'auteur Martijn | 2011-01-13
Vous devez vous connecter pour publier un commentaire.
J'ai réussi à le résoudre à l'aide de l'information provenant de cette question. Dans lequel il a été souligné que les classes de service peuvent également être transmises à l'hôte. Ensuite, il est aussi simple que d'ajouter un écouteur d'événement qui répond aux événements du Service.
OriginalL'auteur Martijn
C'est comme la communication entre les threads. Vous avez besoin d'une variable partagée avec le bon verrouillage de la synchronisation. Votre application hôte va écrire à cette variable et de votre service sera en mesure de lire à partir de cette variable.
Vous n'avez pas d'accéder aux variables d'instance de service. Vos variables doit être partagée par bien connu de l'objet. Par exemple, vous pouvez imlement singleton qui va les exposer ces variables à la fois le service et l'accueil. L'autre approche est d'utiliser le service de localisateur pour objet partagé.
- Vous voulez dire que je dois créer un objet distinct avec singleton propriétés de l'application Hôte. Comment puis-je créer une référence à cet objet de mon Service? Mon but ultime est de déclencher une fonction dans l'application hôte, lorsque le service WCF reçoit les données du client, serait-ce de travailler à l'aide de l'singleton méthode?
OriginalL'auteur Ladislav Mrnka
Il y a un cadre et un tutoriel disponible qui semble gérer ce problème tout à fait bien WPF Hôte de Service sur Codeplex.
EDIT: mis à Jour pour illustrer la technique créé par le WPF Service d'Accueil de modèle.
WPF Service d'Accueil est un modèle pour Visual Studio qui crée un squelette d'application et le client de test. Je vais décrire les éléments pertinents ici.
Voici ce que le squelette de projet ressemble:
ClientServiceHost.cs
MainWindow.xaml
MainWindow.xaml.cs
IClientService.cs
ClientService.cs
App.config
Et la TestClient Programme.cs:
OriginalL'auteur PIntag