J'ai 2 services Windows que j'ai créés à l'aide de C #. P>
Je voudrais que l'un des services appelle une fonction dans le deuxième service Windows. P>
Comment dois-je le faire? p>
EDIT: P>
Le problème est que je dois faire l'application qui fonctionnant (je n'ai pas besoin d'eux pour être un processus de service, c'est bien aussi) mais je a besoin strong> cette application pour communiquer, cette application est sur le même serveur, p>
3 Réponses :
Bien sûr. Il y a un tas de mécanismes IPC que vous pourriez utiliser. Remoting, écouteurs TCP / HTTP, etc. p>
Est-ce que l'on fournit soit des fonctionnalités qui pourraient être utiles en dehors de l'autre service? p>
Voir ce fil pour plus d'idées: Mécanismes IPC en C # - Utilisation et meilleures pratiques < / p>
EDIT: Comme le soulignait Davide Piras, si WCF est disponible pour que vous puissiez utiliser, puis envisagez d'utiliser. Cela simplifiera la vie. Les fichiers de configuration de la WCF sont parfois une douleur à brier, mais il y a un bon outil pour cela aussi: http://msdn.microsoft.com/en-us/library/ms732009. ASPX P>
Chaque fois que possible de remotage et que HTTP doit être évité en faveur de la WCF
sont les services sur la même boîte? Avez-vous .net 4? Recommandez fortement en utilisant le mode le plus rapide possible, Fichiers mappé de mémoire . < / p>
S'ils sont sur la même boîte, mais vous n'avez pas .NET 4 ou êtes dans un réseau Microsoft Windows homogène, Tuyaux nommés pourrait fonctionner. Plus au point, j'utiliserais WCF sur un tuyau nommé . P>
J'ai trouvé toutes les autres réponses correctes, mais un peu trop compliquée (WCF est une grosse affaire) et non évolutive (la mémoire et les pipes nommées ne fonctionneront que sur le même coup). Je vous suggère Messagerie DotNetMQ système. Il est facile d'utiliser et de déployer et de communiquer même entre les processus exécutés sur différents serveurs. p>
Voir Poste associé pour la communication croisée.
Quel type de données? Combien de messages? Quelle est la taille moyenne du message?