Question

J'ai utilisé de la CIB dans win32 code de tout à l'heure.[Sections critiques, des événements et des sémaphores]

Comment est la scène .NET de l'environnement?Il n'existe aucun tutoriel expliquant toutes les options disponibles et quand les utiliser et pourquoi?

Était-ce utile?

La solution

Microsoft les plus récents sont les choses dans la CIB est Windows Communication Foundation.En fait il n'y a rien de nouveau dans le niveau inférieur (tcp, udp, pipes nommés, etc), Mais WCF simplifie le développement de la CIB grandement.

Ressource utile:

et bien sûr MSDN sur WCF

Autres conseils

En dehors de l'évidente (WCF), il y a un ZeroMQ de liaison pour C#/CLR qui est assez bon:

http://www.zeromq.org/bindings:clr

Ne orienté message de la CIB, pub/sub et diverses autres stratégies avec beaucoup moins de code et de configuration de la WCF.

Il est également à moins d'un ordre de grandeur plus rapide que n'importe quoi d'autre et a moins de temps de latence si vous avez besoin d'une faible latence comms.

Avec égards pour les sémaphores, les serrures, les mutex etc.Si vous partagez par la communication plutôt que de communiquer par le partage, vous aurez tout un chargement de moins de tracas que le paradigme traditionnel.

J'ai tendance à utiliser des canaux nommés ou des sockets Unix (selon si je suis cibler MS.NET ou Mono-j'ai une classe qui fait abstraction de loin), car il est facile à utiliser, portable et me permet d'interagir avec du code non managé.Cela dit, si vous êtes seulement à faire avec du code managé, aller avec WCF ou remoting-ceux-ci si vous avez besoin d'Mono support, depuis leur WCF soutien n'est tout simplement pas encore là.

Je vous conseille d'utiliser les Fichiers Mappés en Mémoire si vous avez besoin pour utiliser sur la machine domaine de la communication à travers le réseau.Voir le lien suivant.

http://techmikael.blogspot.com/2010/02/blazing-fast-ipc-in-net-4-wcf-vs.html

Il est également .NET Remoting, que j'ai trouvé assez cool, mais je suppose qu'ils sont obsoleting, maintenant qu'ils ont de la WCF.

On dirait que vous êtes intéressé à des techniques de synchronisation plutôt que de la communication.Si oui, vous pourriez commencer ici, ou peut-être ce plus aperçu concis.

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