Question

Je besoin d'un moyen d'échanger des données entre un processus et un service Windows. Le processus (Windows formulaire de demande, Application console, à l'avenir aussi une solution Web) doit instruire et d'interagir avec le service Windows. Je veux savoir quel chemin est le meilleur pour ce accompplish. Je vais écrire la solution en C #, .NET Framework version n'a pas d'importance. Dans le passé, je l'ai utilisé Remoting (Activator), Interface WCF avec les contrats, processus Inter échange IPC et une mise en œuvre du tube nommé. Quelle est votre expérience? D'autres façons?

Était-ce utile?

La solution

Je choisirais WCF. Il est le plus approche moderne et probablement mieux pris en charge pour le moment. Il « remplacé » les technologies plus anciennes dans la plupart des scénarios. Belle caractéristique de la WCF est que si vous devez déplacer votre service à un autre protocole que vous pouvez le faire simplement en configuration.

Si vous prévoyez que service Windows sera toujours exécuté sur la même machine que toute autre application, vous pouvez utiliser WCF avec netNamedBinding. Si vous décidez de déplacer votre service à une autre machine, vous devrez modifier la configuration (probablement netTcpBinding) parce que les tuyaux nommés dans WCF sont limitées à l'IPC.

Autres conseils

Mes expériences précédentes ont toujours été sur une IpcChannel, principalement parce que le code que j'ai dû participer à ce fait toute forme de communication inter-processus. Il m'a jamais causé aucun problème et le code fonctionne assez loin allègrement que je tape.

La seule vraie réponse à cette question est, selon vous êtes le plus à l'aise avec.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top