2010-11-13 4 views
1

le problème est plus grand, mais j'essaie la réduire à un style plus simple:C# - WCF Client/Serveur Ouvrez une console sur le service d'application

laisse supposer, que je suis tout simplement la programmation d'un modèle client/serveur. Je parviens à me connecter au Service et peux utiliser sa fonction et suis capable de communiquer. La connexion est établie via un fichier de configuration sur le site du serveur et le client se connecte simplement à lui dans sa fonction principale en créant un Channelfactory à un WsHTTPEndpoint. Donc tout va bien. Je peux communiquer via une console avec le serveur et voir réellement ce qui se passe. Mais imaginons maintenant, je suis en train de programmer un serveur qui fournit un service, mais aussi un client dans une application de service différente. Je veux tester si la connexion fonctionne et si je peux envoyer quelques demandes, mais il n'y a pas de console que je peux écrire. Ainsi, il est difficile pour moi de voir, si quelque chose fonctionne ou non.

Comment puis-je démarrer le serveur et, dans le même temps, utiliser une console comme dans une application cliente normale?

+0

Vous pouvez créer un enregistreur pour consigner des données et créer une application de console qui lit à partir de l'enregistreur (DB ou fichier) –

Répondre

0

Si vous avez besoin de cela à des fins de développement, je peux vous recommander des tests unitaires. Avant d'utiliser les tests unitaires, je développais un peu comme vous le décrivez: créez un serveur de console et un client et interagissez avec le client de la console pour voir si les données envoyées et reçues ont du sens. Ce que je fais maintenant avec les tests unitaires, c'est que je crée de petits tests qui font à peu près la même chose que ce que je ferais manuellement via la console client. L'approche de test unitaire présente les avantages suivants:

  • Les tests sont petits et clairs, donc je sais ce que je suis en train de tester; Les tests sont répétables, donc je sais que quand tous les tests passent, la petite pièce que j'ai testée auparavant fonctionne encore;

  • Les tests sont faciles à exécuter, tout aussi facile que le client de la console;

  • Lorsque j'ai créé suffisamment de tests, je peux utiliser ce composant dans une application où je ne peux pas interagir avec la console. Je n'ai plus à m'inquiéter si tout fonctionne parce que les tests unitaires l'ont testé pour moi.

Cette approche a rendu ma vie beaucoup plus facile.

Questions connexes