2009-01-13 9 views
1

Je travaille sur un projet qui implique un système embarqué qui exécute un OS non-microsoft avec un programme C pour l'application et développe un logiciel .NET pour ses applications utilisateur final. Pour la configuration à distance avec le logiciel .NET (qui peut traverser les firewalls), j'envisage d'utiliser WCF. Je ne connais que peu de choses sur le WCF mais j'ai lu qu'il est supposé être interopérable avec des environnements autres que .NET. L'environnement intégré a une pile HTTP mais aucun support intégré pour les services Web. Quelqu'un a-t-il une expérience avec ce genre de chose ou sait-il si cela serait approprié? Si oui, donnez quelques conseils ou dirigez-moi dans la bonne direction.WCF et systèmes embarqués

Merci!

+0

pouvez-vous ajouter plus d'informations sur ce que vous voulez faire? – Gerhard

Répondre

2

WCF est interopérable car il est accessible via HTTP. Visual Studio peut vous aider à créer des bibliothèques client très rapidement pour WCF, mais l'accès client à WCF ne nécessite rien d'autre que des appels HTTP avec la charge utile appropriée. Si vous envisagez un appel de serveur distant et que votre prise en charge intégrée dans votre environnement intégré est de type HTTP de base, envisagez de créer votre côté serveur en tant que méthodes au format REST. Votre débogueur vous en sera reconnaissant.

1

Quels types de données prévoyez-vous de transférer dans les deux sens? Pour quelque chose de ce niveau bas et propriétaire, je recommanderais de coller avec de bonnes sockets à l'ancienne.

0

Je transmettrai les données de configuration ... essentiellement pour permettre au personnel du support technique de programmer l'appareil à distance. Si j'utilisais des sockets, il pourrait s'agir de données binaires, mais les clients équipés de pare-feu ne devraient pas avoir besoin d'ouvrir de ports. Pour cette raison, je pensais envoyer du XML sur HTTP. Alors, est-il préférable d'utiliser WCF ou REST sur le serveur? Ou WCF avec REST?

0

Je suis curieux de connaître votre exigence «clients avec pare-feu». Les sockets avec des données binaires ou XML sur HTTP peuvent utiliser n'importe quel port (pas seulement le port 80), et je suis curieux de savoir si votre appareil va "écouter" sur le réseau, ou simplement faire une connexion sortante. Si votre appareil écoute, vous devez ouvrir un port sur le pare-feu. Faire une connexion sortante ("phoning home") est beaucoup plus facile sur le pare-feu. Donc je pense que vous pourriez utiliser des sockets et des données binaires. Cependant, j'ai rencontré des problèmes similaires sur les deux derniers projets, et je voulais vraiment implémenter WCF en utilisant REST sur l'appareil embarqué, mais personne d'autre ne voulait le faire - j'espère que quelqu'un d'autre sera le premier et publiera quelques résultats !

Bonne chance! (et publiez vos résultats!)