Comment créer un service d'écoute C # pour MSMQ en tant que service Windows
Je vais commencer par dire que je ne suis pas un .NET développeur, mais ont été jetés dans un projet où j'ai besoin d'utiliser MSMQ donc un classique de l'application web ASP peut envoyer des messages à un C# Service Windows qui gère le traitement. J'ai de l'expérience en intégrant les autres files d'attente de messages avec d'autres langues, mais comme je l'ai mentionné, je n'ai pas beaucoup d'expérience .NET et de développement de Windows de sorte que certains conseils seront très appréciés.
Voici mes questions...
- Quelqu'un pourrait-il fournir une certaine base de code C# qui est à l'écoute à une file d'attente MSMQ et réagit à ce nouveau message, en faisant quelque chose de simple comme l'écrit le timestamp actuel dans un fichier journal ou en envoyant un e-mail?
- Comment puis-je le paquet de ce code dans Visual Studio .NET pour créer et installer un Service Windows? (Ce type de projet doit-il être, etc. Je suis à l'aide de Visual C# 2010 Express.)
- Enfin, je ne suis pas sûr de la version et/ou la mise en œuvre de MSMQ ai besoin d'aide pour mes besoins avec ASP classique. Je pense que la COM version est ce dont j'ai besoin, mais j'ai aussi lu sur un nouveau WCF version, ainsi que les différences entre 3.0 et 4.0. Quelqu'un pourrait-il me donner une orientation sur la version que je devrais utiliser?
Merci beaucoup!
source d'informationauteur philfeyn
Vous devez vous connecter pour publier un commentaire.
Vous pouvez attendre un message d'une file d'attente en utilisant le code suivant (Vous voulez utiliser la file d'attente privée nommée SomeQueue sur votre ordinateur, nommé ComputerName => QueueName = @"ComputerName\private$\SomeQueue")
Remarque: le Receove méthode bloquera jusqu'à ce qu'un message est reçu à quel point il va supprimer le message de la file d'attente et le retourner.
edit: ajouté du code pour la mise en œuvre de la multithread partie (et renommé au-dessus de la signature de la méthode)
Code De Création De Thread:
Je vais prendre note, que ce n'est pas testée la morue, c'est juste un exemple rapide
Autant que je sache, Visual Studio Express ne dispose pas d'un modèle de projet pour un service. Cela ne signifie pas que vous ne pouvez pas écrire un service windows avec VSE, c'est juste que vous n'aurez pas un modèle pour vous aider à démarrer.
Pour créer un service, vous pouvez simplement créer une normale de l'application de la Console. Créer la classe de service qui sera responsable pour le service de la mise en œuvre. Il ressemblera à quelque chose comme ceci
Le Service code de démarrage peuvent aller dans le
Main
fonction de votre service.Qui devrait vous donner le cadre de base pour votre service. L'autre chose que vous aurez besoin est d'ajouter un installateur pour le service de sorte qu'il peut être installé comme un service. Le suivant devrait vous obtenir a commencé, note je note testé cette.
Donné ci-dessus, vous devriez avoir assez de chercher autour de ou pour demander plus de détails autour de la création de services. Comme pour le MSMQ à l'écoute, vous pouvez utiliser le site web MSDN suivant l'article comme un point de départ
http://msdn.microsoft.com/en-us/library/ms978425.aspx