2009-11-20 3 views
14

Je sais depuis Vista, que C# ne peut pas accrocher un formulaire d'interface utilisateur directement au service Windows. Cela a été indiqué sur le site Microsoft.GUI et communication de service Windows

Ma question à ce sujet est: "Quel est le meilleur mode de communication d'une interface utilisateur au service?"

J'ai entendu parler de Remoting, de services Web et de TCP direct. Y a-t-il d'autres méthodes? Comment se classent-ils par rapport aux méthodes mentionnées précédemment? Quelle est leur complexité à mettre en œuvre?

Mon application est pour l'intranet, pas Internet. La plate-forme Microsoft sera des deux côtés, donc l'interopérabilité n'est pas un facteur, mais la vitesse est. Je veux dire que je veux traverser le plus petit paquet possible sur le réseau.

TIA

Répondre

22

Si vous développez avec .NET, utilisez WCF pour votre communication interprocessus. Le WCF simplifie grandement le développement parce que les complexités associées à un mécanisme de communication spécifique (par exemple, des sockets, des tuyaux, etc.) sont abstraites derrière un modèle de programmation unifié. Ainsi, peu importe que vous choisissiez d'utiliser des canaux http, tcp ou nommés pour votre mécanisme de transport, le modèle de programmation est le même.

Je recommande fortement le livre de Juval Lowy Programming WCF Services pour toutes les choses WCF. Vous pouvez également visiter son site Web, IDesign.net, pour des échantillons de code WCF gratuits.

Pour un aperçu de WCF, regardez ceci gratuitement video à dnrTV. Il couvre l'objectif de la WCF et démontre la programmation de la WCF à travers quelques exemples faciles à suivre.

Si vous n'avez pas encore créé votre service Windows mais que vous prévoyez de le faire en C#, vous pouvez suivre la procédure pas à pas here.

1

Il y a plusieurs façons de communiquer entre les processus - canaux nommés, mailslots, mémoire mappée fichiers, sockets, objets ActiveX/COM, pour ne citer que quelques-uns. Cela se résume à quelles technologies vous êtes familier/confortable avec.