static void Main(string[] args)
        {
            //create a new MSMQ implementation object
            IMessageQueue msmq = new MSMQ("QueueA");
            //bind the implementation to the MessageQueueManager
            IMessageQueueManager mqm = new MessageQueueManager(msmq);

            //create a new message object
            Message m = new Message();

            m.Label   = "test";
            m.Content = "this is test";
            try
            {
                mqm.OpenConnection();
                mqm.SendMessage(m);
                Message retrievedMessage = mqm.RetrieveMessage();
                //send two more method the queue for MessageArrival event test later
                mqm.SendMessage(m);
                mqm.SendMessage(m);
            }
            finally
            {
                mqm.CloseConnection();
            }

            //register the client with the message arrive
            mqm.RegisterMessageArrivalHanlder(new MessageArrivalHandler(RecieveMessage));

            //create a new MQSeries implementation
            IMessageQueue mqseries = new MQSeries("QueueB");

            //bind implementation object to the MessageQueueManager
            mqm = new MessageQueueManager(mqseries);
            try
            {
                mqm.OpenConnection();
                mqm.SendMessage(m);
                Message retrievedMessage = mqm.RetrieveMessage();
            }
            finally
            {
                mqm.CloseConnection();
            }


            Console.ReadLine();
        }