Bonjour nous essayons de construire un "web" de clients connectés, où chaque client.exe fournit également l'hôte de service auquel les clients distants se connectent.
L'idée est que chaque fois qu'un client distant se connecte au client local, un formulaire est utilisé pour montrer visuellement les clients distants connectés. Chaque fois qu'un nouveau client distant se connecte ou se déconnecte, le formulaire est mis à jour depuis l'instance de service.
Cependant, le client local accède également au même formulaire pour diverses raisons (fournir à l'utilisateur des moyens d'interagir avec les clients distants).
Ma question est la suivante : quand pourrais-je rencontrer des problèmes de synchronisation et de problèmes de thread lorsque le proxy client et l'hôte de service accèdent au formulaire ? Le service est configuré avec ConcurrencyMode.Single et Session.Required. Le client est un singleton. J'utilise déjà des verrous pour synchroniser l'accès aux membres, les rappels du service sont également thread-safe. Pourtant, peut-il y avoir des deadlocks ? La charge est minimale : au plus 2 clients enverraient des données à la fois, et le nombre total de clients ne dépasserait pas 25. Fondamentalement, l'application serait utilisée pour qu'UN (1) client puisse parler à UN autre client.
NB : Je comprends qu'il est également possible de n'exécuter qu'un seul service WCF sur une machine dédiée à laquelle tous les clients peuvent se connecter. Je pose toujours des questions sur ce scénario particulier, où chaque client fournit également un hôte de service. Merci.