How to: Create Transactional Queues 

A transactional queue is created for the specific purpose of receiving and processing messages that are sent as part of a transactional activity. Nontransactional queues are unable to process messages that have been included in a transactional activity.

To send messages as part of a transactional activity, the receiving queue must be set to process transactions. This can be done programmatically by setting its Transactional property to true.

To create a transactional queue

  1. Add a reference to System.Messaging.dll. For more information, see How to: Add or Remove References in Visual Studio.

  2. Use the overloaded Create constructor to create a public, transactional queue, setting the second parameter to true to indicate that the queue should be transactional.

    Dim MessageQueue1 As New System.Messaging.MessageQueue
    MessageQueue1 = System.Messaging.MessageQueue.Create(".\MyTransQueue", True)
    
    System.Messaging.MessageQueue MessageQueue1 =
       new System.Messaging.MessageQueue();
    MessageQueue1 = System.Messaging.MessageQueue.Create(".\\MyTransQueue", true);
    
    System.Messaging.MessageQueue MessageQueue1 =
       new System.Messaging.MessageQueue();
    MessageQueue1 = System.Messaging.MessageQueue.Create(".\\MyTransQueue", true);
    
    NoteNote

    This syntax creates a public transactional queue. The exact syntax you use in the first parameter depends on the kind of queue you are trying to create. For more information, see Queue Reference Recommendations.

See Also

Tasks

How to: Send Messages Within Internal Transactions
How to: Create Queues
How to: Add or Remove References in Visual Studio

Concepts

Transactional Message Processing
Queue Reference Recommendations

Other Resources

Reading and Receiving Messages