MQSeries and .NET - Interacting With Message Queues from C#
MQSeries and .NET - Interacting With Message Queues from C#
Submitted by Corey Goldberg on Tue, 14/11/2006 - 16:08.Below is a C# Class that I use for interacting with MQSeries (reading/writing from/to queues).
It contains 2 methods:
To use it, you must have IBM WebSphere MQ installed, and you must add an assembly reference to amqmdnet.dll (the .NET bindings that come with WebSphere MQ).
I am using:
.NET 2.0
VS 2005
WebSphere MQ 5.3.0

It contains 2 methods:
PutMessageOnQueue
GetMessageOffQueue
To use it, you must have IBM WebSphere MQ installed, and you must add an assembly reference to amqmdnet.dll (the .NET bindings that come with WebSphere MQ).
I am using:
.NET 2.0
VS 2005
WebSphere MQ 5.3.0
public class MQSeries
{
string queueName;
string queueManagerName;
MQQueue queue;
MQMessage queueMessage;
MQQueueManager queueManager;
public MQSeries()
{
queueName = "TESTQ";
queueManagerName = "TESTQM";
queueManager = new MQQueueManager(queueManagerName);
}
public void PutMessageOnQueue(string message)
{
try
{
queue = queueManager.AccessQueue(queueName,
MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);
queueMessage =
new MQMessage();
queueMessage.WriteString(message);
queueMessage.Format
= MQC.MQFMT_STRING;
queue.Put(queueMessage);
}
catch (MQException mqexp)
{
Console.WriteLine("MQSeries
Exception: " + mqexp.Message);
}
}
public string GetMessageOffQueue()
{
string message = "";
queue = queueManager.AccessQueue(queueName,
MQC.MQOO_INPUT_AS_Q_DEF + MQC.MQOO_FAIL_IF_QUIESCING);
queueMessage = new MQMessage();
queueMessage.Format = MQC.MQFMT_STRING;
try
{
queue.Get(queueMessage);
message = queueMessage.ReadString(queueMessage.MessageLength);
}
catch (MQException MQExp)
{
Console.WriteLine("MQQueue::Get
ended with " + MQExp.Message);
}
return message;
}
}
