2011-08-07 5 views
2

Je ne peux trouver que la sérialisation, l'utilisation de WCF, etc. Mais existe-t-il un moyen commun standard de communication entre deux processus dans .Net? MISE À JOUR: Ce que je veux dire réellement comment communiquer entre deux processus localement quand je n'ai pas besoin d'utiliser WCF, Remoting et réseau du tout. Y a-t-il des façons de le faire? Et je suis intéressant de manière plus élégante que de stocker des données sur disque dur ou sur une base de données.Comment communiquer entre les processus?

+1

Quel type de communication? Voulez-vous dire envoyer des commandes, ou envoyez-vous seulement des données? – Jordan

+0

Local ou distant? Fiable ou meilleur effort? Synchrone ou asynchrone (en file d'attente)? Point à point de pub-sub? Une taille unique ne convient pas à tous. –

+0

@Remus Rusanu: localement, mais est-ce différent selon vos prochaines options? –

Répondre

5

sans autre information, je suggère d'utiliser WCF avec une configuration de canaux nommés:

What is the best choice for .NET inter-process communication?

+0

Quelles sont les informations supplémentaires requises? –

+2

Voici quelques-unes des préoccupations soulevées ci-dessus: avez-vous besoin de mettre en file d'attente des messages, pub/sub, etc. Si vous cherchez simplement à appeler des méthodes à travers les processus, WCF est la méthode recommencée. Vous rencontrerez probablement beaucoup de ".NET Remoting", mais comme Anuj l'a mentionné, c'est un peu désuet à ce stade. –

+0

Je n'ai pas besoin de file d'attente de message, pub/sub, etc. mais bien sûr il est intéressant de savoir si je le ferais? Cela signifie-t-il que je dois utiliser d'autres moyens (pas WCF)? –

1

Vous pouvez également consulter .NET Remoting. Mais à toutes fins utiles, vous ne devriez pas l'utiliser, à moins que vous ayez des exigences explicites qui sont satisfaites par la communication à distance comme ... en cours, la communication interdomaine.

Je voudrais juste regarder NetNamedPipeBinding de WCF. On dirait que c'est exactement ce que vous voulez: http://www.codeproject.com/KB/WCF/wcfipcsample.aspx

Il semble également que cette question a déjà répondu:

Interprocess communication for Windows in C# (.NET 2.0)

C# - WCF - inter-process communication

+0

Je connaissais la WCF, c'est pourquoi je l'ai mentionné dans la question. Ce que j'ai demandé - y a-t-il une façon commune de le faire. En d'autres termes, Microsoft recommande-t-il quelque chose pour le faire? –

Questions connexes