2010-06-15 4 views
0

J'utilise deux services WCF. Le service WCF A est hébergé dans mon application .NET Winform et le service WCF B est hébergé sur un service Windows.appelant une méthode d'objet de service WCF dans un autre service WCF

Je suis capable d'instancier un client pour le service WCF B et d'utiliser les méthodes, c'est-à-dire d'appeler le service WCF hébergé sur le service Windows à partir de l'application .NET Winform.

Je ne suis pas en mesure d'accomplir l'inverse avec WCF Service A - c'est-à-dire appelez le service WCF hébergé sur l'application .NET Winform à partir du service Windows. L'appel à la méthode expire.

J'ai utilisé le client test WCF à partir de l'invite de commande Visual Studio et il peut réussir à faire des appels à service WCF A.

Est-ce en raison d'un problème de sécurité ou quelque chose du service Windows?

Veuillez nous aviser.

Merci d'avance!

Subbu

Répondre

1

Je pense que la seule approche viable (sans l'extrême d'avoir une infrastructure de messagerie), est d'avoir le service invoquer des opérations de retour sur votre client via un rappel WCF. Un bon exemple de cela se trouve ici:

What steps do I need to take to use WCF Callbacks?

Ce qui est bon pour faire face aux événements qui se produisent côté serveur et permettant au client de répondre. Si les événements ne sont pas ce que vous recherchez, votre client peut simplement s'enregistrer auprès du serveur (en spécifiant le contrat de rappel), puis le serveur peut invoquer votre client à volonté.

+0

Cette méthode n'a pas fonctionné pour moi seulement parce que j'ai affaire à des communications asynchrones entre les deux processus sur ma machine. J'ai décidé d'héberger un service WCF dans chaque processus éliminant l'approche de rappel. Merci beaucoup pour vos conseils. – Subbu

Questions connexes