Csharp/C Sharp by API/System.Messaging/MessageQueueTransaction

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

new MessageQueueTransaction()

  
using System;
using System.Messaging;
class MainClass
{
  [STAThread]
  static void Main(string[] args)
  {
    MessageQueue txq1 = new MessageQueue( @".\Private$\txq1" );
    MessageQueue txq2 = new MessageQueue( @".\Private$\txq2" );
    using ( MessageQueueTransaction mqtx = new MessageQueueTransaction() )
    {
      mqtx.Begin();
      Message msgIn = txq1.Receive( mqtx );
      msgIn.Formatter = new XmlMessageFormatter( new String[] { "System.String, mscorlib", } );
      Message msgOut = new Message();
      msgOut.Body = (string)msgIn.Body;
      txq2.Send( msgOut, mqtx );
      System.Console.WriteLine( "Aborting message: {0}", (string)msgIn.Body );
      //mqtx.Abort();
      mqtx.rumit();
    }
  }
}