2009-11-07 7 views
1

Dans mon immeuble de bureaux, nous avons des ordinateurs portables sur plusieurs étages, tous dotés d'un service WCF. Lorsque les services WCF communiquent entre eux, un message pour un périphérique hors plage l'atteindra-t-il automatiquement par multi-sauts? Est-ce que WCF/le pilote de périphérique WLAN gère cela? Ou dois-je détecter si un périphérique ne peut pas être contacté/hors de portée et implémenter le saut dans mon propre service?Est-ce que les messages entre les services WCF vont passer sur un réseau WiFi/WLAN?

Répondre

3

Tant que vous avez une connexion de votre client WCF au service - oui, toutes les avenues seront utilisées. Vous ne devriez pas avoir à vous préoccuper de choses comme le chemin réseau que vos messages prennent - le réseau doit être présent et stable pendant la durée d'un appel ;-)

Il n'y a rien dans la WCF pour faire face à cela, vraiment - Cela devrait être géré beaucoup plus bas dans la pile réseau, par le pilote ou le système d'exploitation.

0

il n'a rien à voir avec WCF ....

s'il y a une connexion entre les ordinateurs, sur l'adresse IP, le message sera passer à travers ...

+0

Je ne savais pas que vous aviez des connexions sur l'IP aussi. –

+0

couche ip. la couche réseau. –

2

Réponse courte

Avec WCF peut faire ou les deux de ces derniers:

  • misez sur un protocole sous-jacent comme IP pour gérer l'itinérance
  • Utilisez le code de canal personnalisé qui gère les relances, l'itinérance, etc. comme vous le voulez

Aucun mécanisme spécial pour l'amélioration de l'itinérance est fourni dans les classes WCF Microsoft fournit, mais le cadre lui-même est facilement capable de supporter cette manière transparente si vous écrivez ou trouvez une implémentation de canal pour le faire.

réponse complète

WCF est pas un protocole sur le fil. C'est un cadre qui vous permet de communiquer en utilisant une grande variété de protocoles et de piles réseau. Cela vous permet d'utiliser le même code client et serveur, que vous utilisiez HTTPS, TCP brut, canaux nommés ou tout autre protocole.

WCF est livré avec de nombreux canaux dans la boîte, et vous pouvez ajouter le vôtre. Par exemple, si vous voulez communiquer via BlueTooth ou IRDA, créez simplement un nouveau canal qui parle de ces protocoles et vous pouvez utiliser vos services WCF par dessus. Ces canaux peuvent également être trouvés en ligne ou achetés auprès des fournisseurs.

La plupart des mises en réseau se font aujourd'hui en utilisant le protocole IP, et si vous utilisez WCF pour communiquer entre ordinateurs de bureau, vous utiliserez probablement un ou plusieurs protocoles sur IP, par exemple TCP ou HTTP. Dans ce cas, les règles de routage normales d'IP seront utilisées, donc si les deux machines peuvent échanger des paquets IP, vous pouvez communiquer en utilisant WCF. Par conséquent, si vos points d'accès Wi-Fi permettent une itinérance transparente, vous pourrez utiliser cette fonctionnalité à l'aide de WCF.

Si votre routage WiFi n'a pas d'itinérance transparente, vous devrez effectuer un travail supplémentaire si vous souhaitez maintenir une connexion pendant l'itinérance. Plus précisément, vous devrez créer un canal qui répondra à une connexion fermée en résolvant de nouveau le nom du serveur et en réessayant la demande. Bien sûr, vous devrez utiliser DNS ou un autre protocole pour que le serveur puisse mettre à jour son enregistrement à mesure que son adresse IP change.

WCF est suffisamment flexible pour vous permettre de créer un tel canal et de l'utiliser sans que votre code d'application ne s'en rende compte. Mais rien de tel ne vient dans la boîte: vous devrez le construire, ou le télécharger ou l'acheter.

Questions connexes