MSMQueue Sample

Microsoft Message Queue

Dans une architecture logicielle moderne, un peu complexe, on va un moment donné chercher à faire des bus applicatifs c'est à dire des endroits du système où différentes briques logicielles (modules, pug-in, application tiers) peuvent s'interconnecter et échanger entre elles. Pour réaliser cette fonctionnalité pourquoi ne pas utiliser MSMQueue ? L'avantage c'est que les différents modules peuvent alors soit être installés sur la même machine soit être répartis sur des machines différentes.

Il faut noter que la fonction MessageQueue.Exists() ne fonctionne qu'en local ... oui sur une architecture répartie il faudra utiliser un autre mécanisme pour que les différentes briques vérifient les dialogues.

Pour démarrer voici donc un exemple d'applications console :

*** ConsoleApplication PushInto Queue
S'occupe de vérifier si la MSMQueue MessageQueue existe et sinon la créé.

*** ConsoleApplication ReadInto Queue
S'occupe de lire les messages dans la Queue.

L'objet MessageQueue de System.Messaging fournit un gestionnaire d'événement ReceiveCompleted qui vous permet de définir une call-back qui sera appelée lors de la réception d'un nouveau message.

Requirements :
Visual Studio 2010 Express Edition
MSMQueue Installed on your Windows Systemes or not ...

Download Sample : MSMQueue in C# .NET

A noter également : le message d'erreur qui survient si vous n'avez pas installé MSMQueue sur votre système, en effet c'est un composant système qui n'est pas installé par défaut. Il vous faudra l'installé dans les composants windows. C'est là que vous pourrez administrer vos Queues, les purger, les effacer, les créer.

MSMQ est un composant de Windows :
Sur Windows 7
Control Panel\Programs\Programs and Features - Turn Windows Features On or Off
Microsoft Message Queue (MSMQ) Server