Mega Code Archive

 
Categories / C# Tutorial / Windows
 

Create and use MessageQueue

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();         }     } }