2010-08-27 9 views
0

J'ai une architecture multi-gui mon-service (j'implémente à la fois, service et client) (en utilisant .net 3.5, C#, application/service windows).WCF permanent Connection

quelle est la meilleure pratique pour mettre à jour le guis? Je connais la communication duplex, mais si le client n'envoie pas de requêtes depuis un certain temps, le canal est fermé! augmenter le timeout n'est pas la meilleure solution ...?!

salutations Marcus

+2

Pour plus d'informations. Pourquoi pensez-vous avoir besoin d'une communication en duplex? Quel genre de service utilisez-vous? Quelle liaison? –

Répondre

0

Les interfaces graphiques envoient des commandes au service par TCP Duplex. Chaque fois, une interface graphique change certaines choses, les autres doivent être informés des changements, se rendre au service.

première solution: le guis peut interroger chaque x secondes le service à demander: y at-il des mises à jour?

mais je n'aime pas vraiment cette solution. chaque fois qu'un changement se produit, le service envoie un "gui que vous devez mettre à jour" via callback à chaque interface graphique. mais mayby ​​tous les canaux ne sont pas ouverts plus ...

espère que cela aide à comprendre (désolé pour mon très mauvais anglais)

0

Si vous voulez une architecture où les registres client au service et le service pousse les changements de données aux clients immédiatement lorsque des changements se produisent que la liaison duplex est la solution. Sinon, n'utilisez pas la liaison duplex.

Si vous n'aimez pas l'idée d'augmenter le délai de connexion, vous pouvez toujours implémenter votre propre mécanisme de maintien en vie. Le client continuera à envoyer des messages persistants au service dans un intervalle prédéfini afin que la connexion soit toujours ouverte.