Windows C# Tutorial

using System;
using System.Diagnostics;
using System.Messaging;
public class MyNewQueue
{
    public static void Main()
    {
        MessageQueue myQueue = new MessageQueue(".\\myTransactionalQueue");
        if (myQueue.Transactional == true)
        {
            MessageQueueTransaction myTransaction = new MessageQueueTransaction();
            myTransaction.Begin();
            myQueue.Send("My Message Data.", myTransaction);
            myTransaction.Commit();
        }
        myQueue = new MessageQueue(".\\myTransactionalQueue");
        myQueue.Formatter = new XmlMessageFormatter(new Type[] { typeof(String) });
        MessageQueueTransaction myTransaction1 = new MessageQueueTransaction();
        try
        {
            myTransaction1.Begin();
            Message myMessage = myQueue.Receive(new TimeSpan(0, 0, 5), myTransaction1);
            String myOrder = (String)myMessage.Body;
            Console.WriteLine(myOrder);
            myTransaction1.Commit();
        }
        catch (MessageQueueException e)
        {
            if (e.MessageQueueErrorCode == MessageQueueErrorCode.TransactionUsage)
            {
                Console.WriteLine("Queue is not transactional.");
            }
            else if (e.MessageQueueErrorCode == MessageQueueErrorCode.IOTimeout)
            {
                Console.WriteLine("No message in queue.");
            }
            myTransaction1.Abort();
        }
    }
}