Asynchronous Programming with MSMQ: and it's installation issues.
MSMQ has already been there for while. Actually it has been here at least 5-6 years (that is only the time I am familiar with it).
The Idea of it is pretty simple:
- You have an application with some logic.
- Part of this logic is to perform asynchronous calls to some other application logic.
- You do not wish that it will affect your performance.
- The order of handling those calls has to preserve - the FIFO method.
So, back in the begging of the millennium Microsoft released a nice, free of charge, comes with Windows (PC & server), service called MSMQ - Microsoft Message Queuing. It was not the first attempt but it was stable, free, already inside solution.
This is the idea how it works:
- Your main application during it's work can send Messages to some queue (in this case, one of queues inside MSMQ,). This is done by using the System.Messages library.
- Some other application, a Windows Service for example, listens to this queue.
- Each time a new message arrives it reads it and executes some logic.
- After reading the message the message is automatically deleted from the Queue.
This is how it looks :
Here are some links of Basic and advanced programming:
- Good starting review and examples : Programming MSMQ in .NET : http://www.codeproject.com/dotnet/mgrmsmq.asp
-
Some more advanced stuff: MSMQ for .NET Developers (Part 1):
http://www.devx.com/dotnet/Article/27560/0/page/1
-
Some more advanced-advanced stuff :-) : MSMQ for .NET Developers, Part 2:
http://www.devx.com/dotnet/Article/27922
How to install MSMQ?
Installation process is quite easy (you might need your Windows installation disk):
-
Control Panel
-
Add or Remove Programs
-
Add/Remove Windows Components (on the left sidebar)
-
Select "Message Queuing"
-
Next, Finish
Sometimes happens this installation issue/problem :
This issue happened to me yesterday, when I was trying to install the MSMQ on my newly formatted computer:
"
The MSMQ Service cannot be started.
Error Code: 0x42C
Error Description: The dependency service or group failed to start.
"
This is what you need to do:
-
Start button
-
Run
-
services.msc - Open the services console
-
Enable this service "NT LM Security Support Provider". In addition, set it to Manual mode
-
Install MSMQ again
Hope this helps,
Vladi