MessageQueue Klas

Definitie

Biedt toegang tot een wachtrij op een Message Queuing-server.

public ref class MessageQueue : System::ComponentModel::Component, System::Collections::IEnumerable
[System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.MessageQueueConverter))]
public class MessageQueue : System.ComponentModel.Component, System.Collections.IEnumerable
[System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.MessageQueueConverter))]
[System.Messaging.MessagingDescription("MessageQueueDesc")]
public class MessageQueue : System.ComponentModel.Component, System.Collections.IEnumerable
[<System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.MessageQueueConverter))>]
type MessageQueue = class
    inherit Component
    interface IEnumerable
[<System.ComponentModel.TypeConverter(typeof(System.Messaging.Design.MessageQueueConverter))>]
[<System.Messaging.MessagingDescription("MessageQueueDesc")>]
type MessageQueue = class
    inherit Component
    interface IEnumerable
Public Class MessageQueue
Inherits Component
Implements IEnumerable
Overname
Kenmerken
Implementeringen

Voorbeelden

In het volgende codevoorbeeld worden nieuwe MessageQueue objecten gemaakt met behulp van verschillende syntaxistypen voor padnamen. In elk geval wordt er een bericht verzonden naar de wachtrij waarvan het pad is gedefinieerd in de constructor.

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;
ref class MyNewQueue
{
public:

   // References public queues.
   void SendPublic()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
      myQueue->Send( "Public queue by path name." );
      return;
   }


   // References private queues.
   void SendPrivate()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\Private$\\myQueue" );
      myQueue->Send( "Private queue by path name." );
      return;
   }


   // References queues by label.
   void SendByLabel()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( "Label:TheLabel" );
      myQueue->Send( "Queue by label." );
      return;
   }


   // References queues by format name.
   void SendByFormatName()
   {
      MessageQueue^ myQueue = gcnew MessageQueue( "FormatName:Public=5A5F7535-AE9A-41d4 -935C-845C2AFF7112" );
      myQueue->Send( "Queue by format name." );
      return;
   }


   // References computer journal queues.
   void MonitorComputerJournal()
   {
      MessageQueue^ computerJournal = gcnew MessageQueue( ".\\Journal$" );
      while ( true )
      {
         Message^ journalMessage = computerJournal->Receive();
         
         // Process the journal message.
      }
   }


   // References queue journal queues.
   void MonitorQueueJournal()
   {
      MessageQueue^ queueJournal = gcnew MessageQueue( ".\\myQueue\\Journal$" );
      while ( true )
      {
         Message^ journalMessage = queueJournal->Receive();
         
         // Process the journal message.
      }
   }


   // References dead-letter queues.
   void MonitorDeadLetter()
   {
      MessageQueue^ deadLetter = gcnew MessageQueue( ".\\DeadLetter$" );
      while ( true )
      {
         Message^ deadMessage = deadLetter->Receive();
         
         // Process the dead-letter message.
      }
   }


   // References transactional dead-letter queues.
   void MonitorTransactionalDeadLetter()
   {
      MessageQueue^ TxDeadLetter = gcnew MessageQueue( ".\\XactDeadLetter$" );
      while ( true )
      {
         Message^ txDeadLetter = TxDeadLetter->Receive();
         
         // Process the transactional dead-letter message.
      }
   }

};


//*************************************************
// Provides an entry point into the application.
//         
// This example demonstrates several ways to set
// a queue's path.
//*************************************************
int main()
{
   
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;
   myNewQueue->SendPublic();
   myNewQueue->SendPrivate();
   myNewQueue->SendByLabel();
   myNewQueue->SendByFormatName();
   myNewQueue->MonitorComputerJournal();
   myNewQueue->MonitorQueueJournal();
   myNewQueue->MonitorDeadLetter();
   myNewQueue->MonitorTransactionalDeadLetter();
   return 0;
}
using System;
using System.Messaging;

namespace MyProject
{
    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //		
        // This example demonstrates several ways to set
        // a queue's path.
        //**************************************************

        public static void Main()
        {
            // Create a new instance of the class.
            MyNewQueue myNewQueue = new MyNewQueue();

            myNewQueue.SendPublic();
            myNewQueue.SendPrivate();
            myNewQueue.SendByLabel();
            myNewQueue.SendByFormatName();
            myNewQueue.MonitorComputerJournal();
            myNewQueue.MonitorQueueJournal();
            myNewQueue.MonitorDeadLetter();
            myNewQueue.MonitorTransactionalDeadLetter();

            return;
        }
        
        // References public queues.
        public void SendPublic()
        {
            MessageQueue myQueue = new MessageQueue(".\\myQueue");
            myQueue.Send("Public queue by path name.");

            return;
        }

        // References private queues.
        public void SendPrivate()
        {
            MessageQueue myQueue = new
                MessageQueue(".\\Private$\\myQueue");
            myQueue.Send("Private queue by path name.");

            return;
        }

        // References queues by label.
        public void SendByLabel()
        {
            MessageQueue myQueue = new MessageQueue("Label:TheLabel");
            myQueue.Send("Queue by label.");

            return;
        }

        // References queues by format name.
        public void SendByFormatName()
        {
            MessageQueue myQueue = new
                MessageQueue("FormatName:Public=5A5F7535-AE9A-41d4" +
                "-935C-845C2AFF7112");
            myQueue.Send("Queue by format name.");

            return;
        }

        // References computer journal queues.
        public void MonitorComputerJournal()
        {
            MessageQueue computerJournal = new
                MessageQueue(".\\Journal$");
            while(true)
            {
                Message journalMessage = computerJournal.Receive();
                // Process the journal message.
            }
        }

        // References queue journal queues.
        public void MonitorQueueJournal()
        {
            MessageQueue queueJournal = new
                MessageQueue(".\\myQueue\\Journal$");
            while(true)
            {
                Message journalMessage = queueJournal.Receive();
                // Process the journal message.
            }
        }
        
        // References dead-letter queues.
        public void MonitorDeadLetter()
        {
            MessageQueue deadLetter = new
                MessageQueue(".\\DeadLetter$");
            while(true)
            {
                Message deadMessage = deadLetter.Receive();
                // Process the dead-letter message.
            }
        }

        // References transactional dead-letter queues.
        public void MonitorTransactionalDeadLetter()
        {
            MessageQueue TxDeadLetter = new
                MessageQueue(".\\XactDeadLetter$");
            while(true)
            {
                Message txDeadLetter = TxDeadLetter.Receive();
                // Process the transactional dead-letter message.
            }
        }
    }
}
Imports System.Messaging

Public Class MyNewQueue


        
        ' Provides an entry point into the application.
        '		 
        ' This example demonstrates several ways to set
        ' a queue's path.
        

        Public Shared Sub Main()

            ' Create a new instance of the class.
            Dim myNewQueue As New MyNewQueue()

            myNewQueue.SendPublic()
            myNewQueue.SendPrivate()
            myNewQueue.SendByLabel()
            myNewQueue.SendByFormatName()
            myNewQueue.MonitorComputerJournal()
            myNewQueue.MonitorQueueJournal()
            myNewQueue.MonitorDeadLetter()
            myNewQueue.MonitorTransactionalDeadLetter()

            Return

        End Sub


        ' References public queues.
        Public Sub SendPublic()

            Dim myQueue As New MessageQueue(".\myQueue")
            myQueue.Send("Public queue by path name.")

            Return

        End Sub


        ' References private queues.
        Public Sub SendPrivate()

            Dim myQueue As New MessageQueue(".\Private$\myQueue")
            myQueue.Send("Private queue by path name.")

            Return

        End Sub


        ' References queues by label.
        Public Sub SendByLabel()

            Dim myQueue As New MessageQueue("Label:TheLabel")
            myQueue.Send("Queue by label.")

            Return

        End Sub


        ' References queues by format name.
        Public Sub SendByFormatName()

            Dim myQueue As New _
                MessageQueue("FormatName:Public=" + _
                    "5A5F7535-AE9A-41d4-935C-845C2AFF7112")
            myQueue.Send("Queue by format name.")

            Return

        End Sub


        ' References computer journal queues.
        Public Sub MonitorComputerJournal()

            Dim computerJournal As New MessageQueue(".\Journal$")

            While True

                Dim journalMessage As Message = _
                    computerJournal.Receive()

                ' Process the journal message.

            End While

            Return
        End Sub


        ' References queue journal queues.
        Public Sub MonitorQueueJournal()

            Dim queueJournal As New _
                            MessageQueue(".\myQueue\Journal$")

            While True

                Dim journalMessage As Message = _
                    queueJournal.Receive()

                ' Process the journal message.

            End While

            Return
        End Sub


        ' References dead-letter queues.
        Public Sub MonitorDeadLetter()
            Dim deadLetter As New MessageQueue(".\DeadLetter$")

            While True

                Dim deadMessage As Message = deadLetter.Receive()

                ' Process the dead-letter message.

            End While

            Return

        End Sub


        ' References transactional dead-letter queues.
        Public Sub MonitorTransactionalDeadLetter()

            Dim TxDeadLetter As New MessageQueue(".\XactDeadLetter$")

            While True

                Dim txDeadLetterMessage As Message = _
                    TxDeadLetter.Receive()

                ' Process the transactional dead-letter message.

            End While

            Return

        End Sub

End Class

Het volgende codevoorbeeld verzendt een bericht naar een wachtrij en ontvangt een bericht uit een wachtrij, met behulp van een toepassingsspecifieke klasse met de naam Order.

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;

// This class represents an object the following example 
// sends to a queue and receives from a queue.
ref class Order
{
public:
   int orderId;
   DateTime orderTime;
};


/// <summary>
/// Provides a container class for the example.
/// </summary>
ref class MyNewQueue
{
public:

   //*************************************************
   // Sends an Order to a queue.
   //*************************************************
   void SendMessage()
   {
      // Create a new order and set values.
      Order^ sentOrder = gcnew Order;
      sentOrder->orderId = 3;
      sentOrder->orderTime = DateTime::Now;

      // Connect to a queue on the local computer.
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );

      // Send the Order to the queue.
      myQueue->Send( sentOrder );
      return;
   }

   //*************************************************
   // Receives a message containing an Order.
   //*************************************************
   void ReceiveMessage()
   {
      // Connect to the a queue on the local computer.
      MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );

      // Set the formatter to indicate body contains an Order.
      array<Type^>^p = gcnew array<Type^>(1);
      p[ 0 ] = Order::typeid;
      myQueue->Formatter = gcnew XmlMessageFormatter( p );
      try
      {
         // Receive and format the message. 
         Message^ myMessage = myQueue->Receive();
         Order^ myOrder = static_cast<Order^>(myMessage->Body);

         // Display message information.
         Console::WriteLine( "Order ID: {0}", myOrder->orderId );
         Console::WriteLine( "Sent: {0}", myOrder->orderTime );
      }
      catch ( MessageQueueException^ ) 
      {
         // Handle Message Queuing exceptions.
      }
      // Handle invalid serialization format.
      catch ( InvalidOperationException^ e ) 
      {
         Console::WriteLine( e->Message );
      }

      // Catch other exceptions as necessary.
      return;
   }
};

//*************************************************
// Provides an entry point into the application.
//         
// This example sends and receives a message from
// a queue.
//*************************************************
int main()
{
   // Create a new instance of the class.
   MyNewQueue^ myNewQueue = gcnew MyNewQueue;

   // Send a message to a queue.
   myNewQueue->SendMessage();

   // Receive a message from a queue.
   myNewQueue->ReceiveMessage();
   return 0;
}
using System;
using System.Messaging;

namespace MyProject
{

    // This class represents an object the following example
    // sends to a queue and receives from a queue.
    public class Order
    {
        public int orderId;
        public DateTime orderTime;
    };	

    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //		
        // This example sends and receives a message from
        // a queue.
        //**************************************************

        public static void Main()
        {
            // Create a new instance of the class.
            MyNewQueue myNewQueue = new MyNewQueue();

            // Send a message to a queue.
            myNewQueue.SendMessage();

            // Receive a message from a queue.
            myNewQueue.ReceiveMessage();

            return;
        }

        //**************************************************
        // Sends an Order to a queue.
        //**************************************************
        
        public void SendMessage()
        {
            
            // Create a new order and set values.
            Order sentOrder = new Order();
            sentOrder.orderId = 3;
            sentOrder.orderTime = DateTime.Now;

            // Connect to a queue on the local computer.
            MessageQueue myQueue = new MessageQueue(".\\myQueue");

            // Send the Order to the queue.
            myQueue.Send(sentOrder);

            return;
        }

        //**************************************************
        // Receives a message containing an Order.
        //**************************************************
        
        public  void ReceiveMessage()
        {
            // Connect to the a queue on the local computer.
            MessageQueue myQueue = new MessageQueue(".\\myQueue");

            // Set the formatter to indicate body contains an Order.
            myQueue.Formatter = new XmlMessageFormatter(new Type[]
                {typeof(MyProject.Order)});
            
            try
            {
                // Receive and format the message.
                Message myMessage =	myQueue.Receive();
                Order myOrder = (Order)myMessage.Body;

                // Display message information.
                Console.WriteLine("Order ID: " +
                    myOrder.orderId.ToString());
                Console.WriteLine("Sent: " +
                    myOrder.orderTime.ToString());
            }
            
            catch (MessageQueueException)
            {
                // Handle Message Queuing exceptions.
            }

            // Handle invalid serialization format.
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message);
            }
            
            // Catch other exceptions as necessary.

            return;
        }
    }
}
Imports System.Messaging

    ' This class represents an object the following example 
    ' sends to a queue and receives from a queue.
    Public Class Order
        Public orderId As Integer
        Public orderTime As DateTime
    End Class


   
    Public Class MyNewQueue


        '
        ' Provides an entry point into the application.
        '		 
        ' This example sends and receives a message from
        ' a qeue.
        '

        Public Shared Sub Main()

            ' Create a new instance of the class.
            Dim myNewQueue As New MyNewQueue()

            ' Send a message to a queue.
            myNewQueue.SendMessage()

            ' Receive a message from a queue.
            myNewQueue.ReceiveMessage()

            Return

        End Sub


        '
        ' Sends an Order to a queue.
        '

        Public Sub SendMessage()

            ' Create a new order and set values.
            Dim sentOrder As New Order()
            sentOrder.orderId = 3
            sentOrder.orderTime = DateTime.Now

            ' Connect to a queue on the local computer.
            Dim myQueue As New MessageQueue(".\myQueue")

            ' Send the Order to the queue.
            myQueue.Send(sentOrder)

            Return

        End Sub


        '
        ' Receives a message containing an Order.
        '

        Public Sub ReceiveMessage()

            ' Connect to the a queue on the local computer.
            Dim myQueue As New MessageQueue(".\myQueue")

            ' Set the formatter to indicate the body contains an Order.
            myQueue.Formatter = New XmlMessageFormatter(New Type() _
                {GetType(Order)})

            Try

                ' Receive and format the message. 
                Dim myMessage As Message = myQueue.Receive()
                Dim myOrder As Order = CType(myMessage.Body, Order)

                ' Display message information.
                Console.WriteLine(("Order ID: " + _
                    myOrder.orderId.ToString()))
                Console.WriteLine(("Sent: " + _
                    myOrder.orderTime.ToString()))

            Catch m As MessageQueueException
                ' Handle Message Queuing exceptions.

            Catch e As InvalidOperationException
                ' Handle invalid serialization format.
                Console.WriteLine(e.Message)


                ' Catch other exceptions as necessary.

            End Try

            Return

        End Sub

End Class

Opmerkingen

Met de Message Queuing-technologie kunnen toepassingen die op verschillende momenten worden uitgevoerd, communiceren via heterogene netwerken en systemen die mogelijk tijdelijk offline zijn. Toepassingen verzenden, ontvangen of bekijken (lezen zonder te verwijderen) berichten uit wachtrijen. Message Queuing is een optioneel onderdeel van Windows 2000 en Windows NT en moet afzonderlijk worden geïnstalleerd.

De MessageQueue klasse is een wrapper rond Message Queuing. Er zijn meerdere versies van Message Queuing en het gebruik van de MessageQueue klasse kan leiden tot iets ander gedrag, afhankelijk van het besturingssysteem dat u gebruikt.

De MessageQueue klasse bevat een verwijzing naar een Message Queuing-wachtrij. U kunt een pad in de MessageQueue constructor opgeven om verbinding te maken met een bestaande resource of u kunt een nieuwe wachtrij op de server maken. Voordat u kunt aanroepen Send(Object), Peekof Receive, moet u het nieuwe exemplaar van de MessageQueue klasse koppelen aan een bestaande wachtrij. Op dat moment kunt u de eigenschappen van de wachtrij bewerken, zoals Category en Label.

MessageQueue ondersteunt twee typen bericht ophalen: synchroon en asynchroon. De synchrone methoden Peek en Receivezorgen ervoor dat de procesthread een opgegeven tijdsinterval wacht voordat een nieuw bericht in de wachtrij aankomt. Met de asynchrone methoden BeginPeek kunnen BeginReceivede hoofdtoepassingstaken in een afzonderlijke thread worden voortgezet totdat een bericht in de wachtrij binnenkomt. Deze methoden werken met behulp van callback-objecten en statusobjecten om informatie tussen threads te communiceren.

Wanneer u een nieuw exemplaar van de MessageQueue klasse maakt, maakt u geen nieuwe Message Queuing-wachtrij. In plaats daarvan kunt u de Create(String), Delete(String)en Purge methoden gebruiken om wachtrijen op de server te beheren.

In tegenstelling tot Purge, Create(String) en Delete(String) zijn static leden, zodat u ze kunt aanroepen zonder een nieuw exemplaar van de MessageQueue klasse te maken.

U kunt de eigenschap van het MessageQueue object instellen met een van de drie namen: de beschrijvende naam, de FormatNameof de Label.Path De beschrijvende naam, die wordt gedefinieerd door de eigenschappen en eigenschappen van MachineName de wachtrij, is MachineName\QueueName voor een openbare wachtrij en MachineNameQueueName\\Private$voor een privéwachtrij.QueueName Met de FormatName eigenschap is offlinetoegang tot berichtenwachtrijen toegestaan. Ten slotte kunt u de eigenschap van Label de wachtrij gebruiken om de wachtrij Pathin te stellen.

Zie de MessageQueue constructor voor een lijst met initiële eigenschapswaarden voor een exemplaar vanMessageQueue.

Constructors

Name Description
MessageQueue()

Initialiseert een nieuw exemplaar van de MessageQueue klasse. Nadat de parameterloze constructor het nieuwe exemplaar initialiseert, moet u de eigenschap van Path het exemplaar instellen voordat u het exemplaar kunt gebruiken.

MessageQueue(String, Boolean, Boolean, QueueAccessMode)

Initialiseert een nieuw exemplaar van de MessageQueue klasse.

MessageQueue(String, Boolean, Boolean)

Initialiseert een nieuw exemplaar van de MessageQueue klasse.

MessageQueue(String, Boolean)

Initialiseert een nieuw exemplaar van de MessageQueue klasse die verwijst naar de Message Queuing-wachtrij op het opgegeven pad en met de opgegeven beperking voor leestoegang.

MessageQueue(String, QueueAccessMode)

Initialiseert een nieuw exemplaar van de MessageQueue klasse.

MessageQueue(String)

Initialiseert een nieuw exemplaar van de MessageQueue klasse die verwijst naar de Message Queuing-wachtrij op het opgegeven pad.

Velden

Name Description
InfiniteQueueSize

Hiermee geeft u op dat er geen groottebeperking bestaat voor een wachtrij.

InfiniteTimeout

Hiermee geeft u op dat er geen time-out bestaat voor methoden waarmee berichten worden weergegeven of ontvangen.

Eigenschappen

Name Description
AccessMode

Hiermee wordt een waarde opgehaald die de toegangsmodus voor de wachtrij aangeeft.

Authenticate

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de wachtrij alleen geverifieerde berichten accepteert.

BasePriority

Hiermee haalt u de basisprioriteit message queuing op of stelt u deze in om de berichten van een openbare wachtrij via het netwerk te routeren.

CanRaiseEvents

Hiermee wordt een waarde opgehaald die aangeeft of het onderdeel een gebeurtenis kan genereren.

(Overgenomen van Component)
CanRead

Hiermee wordt een waarde opgehaald die aangeeft of de MessageQueue waarde kan worden gelezen.

CanWrite

Hiermee wordt een waarde opgehaald die aangeeft of de MessageQueue waarde naar kan worden geschreven.

Category

Hiermee haalt u de wachtrijcategorie op of stelt u deze in.

Container

Hiermee haalt u het IContainer bestand op dat de Component.

(Overgenomen van Component)
CreateTime

Hiermee haalt u de tijd en datum op waarop de wachtrij is gemaakt in Message Queuing.

DefaultPropertiesToSend

Hiermee worden de eigenschapswaarden van het bericht standaard opgehaald of ingesteld voor gebruik wanneer de toepassing berichten naar de wachtrij verzendt.

DenySharedReceive

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of dit MessageQueue exclusieve toegang heeft tot het ontvangen van berichten uit de Message Queuing-wachtrij.

DesignMode

Hiermee wordt een waarde opgehaald die aangeeft of de Component momenteel in de ontwerpmodus is.

(Overgenomen van Component)
EnableConnectionCache

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een cache met verbindingen door de toepassing wordt onderhouden.

EncryptionRequired

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de wachtrij alleen niet-privéberichten (niet-versleuteld) accepteert.

Events

Hiermee haalt u de lijst met gebeurtenis-handlers op die aan dit Componentbestand zijn gekoppeld.

(Overgenomen van Component)
FormatName

Hiermee haalt u de unieke wachtrijnaam op die Message Queuing heeft gegenereerd op het moment dat de wachtrij is gemaakt.

Formatter

Hiermee haalt u de formatter op die wordt gebruikt om een object te serialiseren of deserialiseren van de hoofdtekst van een bericht dat wordt gelezen uit of naar de wachtrij geschreven.

Id

Hiermee haalt u de unieke Message Queuing-id van de wachtrij op.

Label

Hiermee wordt de beschrijving van de wachtrij opgehaald of ingesteld.

LastModifyTime

Hiermee wordt de laatste keer opgehaald dat de eigenschappen van een wachtrij zijn gewijzigd.

MachineName

Hiermee haalt u de naam op van de computer waar de Message Queuing-wachtrij zich bevindt.

MaximumJournalSize

Hiermee wordt de maximale grootte van de logboekwachtrij opgehaald of ingesteld.

MaximumQueueSize

Hiermee wordt de maximale grootte van de wachtrij opgehaald of ingesteld.

MessageReadPropertyFilter

Hiermee haalt u het eigenschapsfilter op voor het ontvangen of bekijken van berichten.

MulticastAddress

Hiermee wordt het multicast-adres opgehaald of ingesteld dat aan de wachtrij is gekoppeld.

Path

Hiermee wordt het pad van de wachtrij opgehaald of ingesteld. Als u de Path instelling instelt, verwijst het MessageQueue naar een nieuwe wachtrij.

QueueName

Hiermee wordt de beschrijvende naam opgehaald of ingesteld waarmee de wachtrij wordt geïdentificeerd.

ReadHandle

Hiermee haalt u de systeemeigen ingang op die wordt gebruikt om berichten uit de berichtenwachtrij te lezen.

Site

Haalt of stelt de ISite van de Component.

(Overgenomen van Component)
SynchronizingObject

Hiermee wordt het object opgehaald of ingesteld waarmee de gebeurtenis-handler-aanroep wordt opgehaald of ingesteld die het gevolg is van een ReceiveCompleted of PeekCompleted meer gebeurtenissen.

Transactional

Hiermee wordt een waarde opgehaald die aangeeft of de wachtrij alleen transacties accepteert.

UseJournalQueue

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of ontvangen berichten naar de logboekwachtrij worden gekopieerd.

WriteHandle

Hiermee haalt u de systeemeigen ingang op die wordt gebruikt voor het verzenden van berichten naar de berichtenwachtrij.

Methoden

Name Description
BeginPeek()

Hiermee wordt een asynchrone peekbewerking gestart die geen time-out heeft. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij.

BeginPeek(TimeSpan, Cursor, PeekAction, Object, AsyncCallback)

Start een asynchrone peekbewerking met een opgegeven time-out en die gebruikmaakt van een opgegeven cursor, een opgegeven actie voor korte weergave en een opgegeven statusobject. Het statusobject bevat gekoppelde informatie gedurende de levensduur van de bewerking. Deze overbelasting ontvangt een melding via een callback van de identiteit van de gebeurtenis-handler voor de bewerking. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij of als er een time-out optreedt.

BeginPeek(TimeSpan, Object, AsyncCallback)

Start een asynchrone peek-bewerking met een opgegeven time-out en een opgegeven statusobject, dat gekoppelde informatie biedt gedurende de levensduur van de bewerking. Deze overbelasting ontvangt een melding via een callback van de identiteit van de gebeurtenis-handler voor de bewerking. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij of als er een time-out optreedt.

BeginPeek(TimeSpan, Object)

Start een asynchrone peek-bewerking met een opgegeven time-out en een opgegeven statusobject, dat gekoppelde informatie biedt gedurende de levensduur van de bewerking. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij of als er een time-out optreedt.

BeginPeek(TimeSpan)

Hiermee wordt een asynchrone peekbewerking gestart met een opgegeven time-out. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij of als er een time-out optreedt.

BeginReceive()

Hiermee wordt een asynchrone ontvangstbewerking gestart die geen time-out heeft. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij.

BeginReceive(TimeSpan, Cursor, Object, AsyncCallback)

Start een asynchrone ontvangstbewerking met een opgegeven time-out en gebruikt een opgegeven cursor en een opgegeven statusobject. Het statusobject bevat gekoppelde informatie gedurende de levensduur van de bewerking. Deze overbelasting ontvangt een melding via een callback van de identiteit van de gebeurtenis-handler voor de bewerking. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij of als er een time-out optreedt.

BeginReceive(TimeSpan, Object, AsyncCallback)

Start een asynchrone ontvangstbewerking met een opgegeven time-out en een opgegeven statusobject, dat de bijbehorende informatie biedt gedurende de levensduur van de bewerking. Deze overbelasting ontvangt een melding via een callback van de identiteit van de gebeurtenis-handler voor de bewerking. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij of als er een time-out optreedt.

BeginReceive(TimeSpan, Object)

Start een asynchrone ontvangstbewerking met een opgegeven time-out en een opgegeven statusobject, dat de bijbehorende informatie biedt gedurende de levensduur van de bewerking. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij of als er een time-out optreedt.

BeginReceive(TimeSpan)

Start een asynchrone ontvangstbewerking met een opgegeven time-out. De bewerking is pas voltooid als er een bericht beschikbaar is in de wachtrij of als er een time-out optreedt.

ClearConnectionCache()

Hiermee wist u de verbindingscache.

Close()

Hiermee worden alle resources vrijgemaakt die zijn toegewezen door de MessageQueue.

Create(String, Boolean)

Hiermee maakt u een transactionele of niet-transactionele Message Queuing-wachtrij op het opgegeven pad.

Create(String)

Hiermee maakt u een niet-transactionele Message Queuing-wachtrij op het opgegeven pad.

CreateCursor()

Hiermee maakt u een nieuwe Cursor voor de huidige berichtenwachtrij.

CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
Delete(String)

Hiermee verwijdert u een wachtrij op een Message Queuing-server.

Dispose()

Alle resources die worden gebruikt door de Component.

(Overgenomen van Component)
Dispose(Boolean)

Verwijdert de resources (behalve het geheugen) die worden gebruikt door de MessageQueue.

EndPeek(IAsyncResult)

Hiermee voltooit u de opgegeven asynchrone peekbewerking.

EndReceive(IAsyncResult)

Hiermee wordt de opgegeven asynchrone ontvangstbewerking voltooid.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Exists(String)

Bepaalt of er een Message Queuing-wachtrij bestaat op het opgegeven pad.

GetAllMessages()

Retourneert alle berichten die zich in de wachtrij bevinden.

GetEnumerator()
Verouderd.

De berichten in een wachtrij opsommen. GetEnumerator() is verouderd verklaard. GetMessageEnumerator2() moet in plaats daarvan worden gebruikt.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetMachineId(String)

Hiermee wordt de id opgehaald van de computer waarnaar wordt verwezen door de wachtrij waarnaar wordt MessageQueue verwezen.

GetMessageEnumerator()
Verouderd.

Hiermee maakt u een enumerator-object voor alle berichten in de wachtrij. GetMessageEnumerator() is verouderd verklaard. GetMessageEnumerator2() moet in plaats daarvan worden gebruikt.

GetMessageEnumerator2()

Hiermee maakt u een enumerator-object voor alle berichten in de wachtrij.

GetMessageQueueEnumerator()

Biedt semantiek voor alleen-doorstuurservers om alle openbare wachtrijen op het netwerk op te sommen.

GetMessageQueueEnumerator(MessageQueueCriteria)

Biedt semantiek voor alleen-doorstuurservers om alle openbare wachtrijen in het netwerk op te sommen die voldoen aan de opgegeven criteria.

GetPrivateQueuesByMachine(String)

Haalt alle privéwachtrijen op de opgegeven computer op.

GetPublicQueues()

Haalt alle openbare wachtrijen op het netwerk op.

GetPublicQueues(MessageQueueCriteria)

Haalt alle openbare wachtrijen op het netwerk op die voldoen aan de opgegeven criteria.

GetPublicQueuesByCategory(Guid)

Hiermee haalt u alle openbare wachtrijen op het netwerk op die deel uitmaken van de opgegeven categorie.

GetPublicQueuesByLabel(String)

Hiermee haalt u alle openbare wachtrijen op het netwerk op die het opgegeven label bevatten.

GetPublicQueuesByMachine(String)

Hiermee worden alle openbare wachtrijen opgehaald die zich op de opgegeven computer bevinden.

GetSecurityContext()

Haalt de beveiligingscontext op die MSMQ aan de huidige gebruiker (thread-identiteit) op het moment van deze aanroep koppelt.

GetService(Type)

Hiermee wordt een object geretourneerd dat een service vertegenwoordigt die wordt geleverd door of door de Component service Container.

(Overgenomen van Component)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
Peek()

Retourneert zonder het eerste bericht in de wachtrij waarnaar wordt verwezen MessageQueuete verwijderen (een korte weergave). De Peek() methode is synchroon, dus blokkeert deze de huidige thread totdat er een bericht beschikbaar is.

Peek(TimeSpan, Cursor, PeekAction)

Retourneert zonder het huidige of volgende bericht in de wachtrij te verwijderen (korte weergaven), met behulp van de opgegeven cursor. De Peek() methode is synchroon, dus blokkeert deze de huidige thread totdat een bericht beschikbaar is of de opgegeven time-out optreedt.

Peek(TimeSpan)

Retourneert zonder het eerste bericht in de wachtrij waarnaar wordt verwezen MessageQueuete verwijderen (een korte weergave). De Peek() methode is synchroon, dus blokkeert deze de huidige thread totdat een bericht beschikbaar is of de opgegeven time-out optreedt.

PeekByCorrelationId(String, TimeSpan)

Bekijk het bericht dat overeenkomt met de opgegeven correlatie-id en wacht totdat een bericht met de opgegeven correlatie-id beschikbaar is in de wachtrij of de time-out verloopt.

PeekByCorrelationId(String)

Hiermee wordt het bericht weergegeven dat overeenkomt met de opgegeven correlatie-id en wordt er onmiddellijk een uitzondering gegenereerd als er momenteel geen bericht met de opgegeven correlatie-id in de wachtrij bestaat.

PeekById(String, TimeSpan)

Hiermee wordt het bericht weergegeven waarvan de bericht-id overeenkomt met de id parameter. Wacht totdat het bericht in de wachtrij wordt weergegeven of er een time-out optreedt.

PeekById(String)

Hiermee wordt het bericht weergegeven waarvan de bericht-id overeenkomt met de id parameter.

PeekByLookupId(Int64)

Geïntroduceerd in MSMQ 3.0. Bekijk het bericht dat overeenkomt met de opgegeven opzoek-id uit een niet-transactionele wachtrij.

PeekByLookupId(MessageLookupAction, Int64)

Geïntroduceerd in MSMQ 3.0. Bekijkt een specifiek bericht uit de wachtrij. Het bericht kan worden opgegeven door een opzoek-id of door de positie ervan aan de voorkant of het einde van de wachtrij.

Purge()

Hiermee verwijdert u alle berichten in de wachtrij.

Receive()

Ontvangt het eerste bericht dat beschikbaar is in de wachtrij waarnaar wordt verwezen door de MessageQueue. Deze aanroep is synchroon en blokkeert de huidige thread van de uitvoering totdat een bericht beschikbaar is.

Receive(MessageQueueTransaction)

Ontvangt het eerste bericht dat beschikbaar is in de transactionele wachtrij waarnaar wordt verwezen door de MessageQueue. Deze aanroep is synchroon en blokkeert de huidige thread van de uitvoering totdat een bericht beschikbaar is.

Receive(MessageQueueTransactionType)

Ontvangt het eerste bericht dat beschikbaar is in de wachtrij waarnaar wordt verwezen door de MessageQueue. Deze aanroep is synchroon en blokkeert de huidige thread van de uitvoering totdat een bericht beschikbaar is.

Receive(TimeSpan, Cursor, MessageQueueTransaction)

Ontvangt het huidige bericht in de wachtrij met behulp van een opgegeven cursor. Als er geen bericht beschikbaar is, wacht deze methode totdat een bericht beschikbaar is of de time-out verloopt.

Receive(TimeSpan, Cursor, MessageQueueTransactionType)

Ontvangt het huidige bericht in de wachtrij met behulp van een opgegeven cursor. Als er geen bericht beschikbaar is, wacht deze methode totdat een bericht beschikbaar is of de time-out verloopt.

Receive(TimeSpan, Cursor)

Ontvangt het huidige bericht in de wachtrij met behulp van een opgegeven cursor. Als er geen bericht beschikbaar is, wacht deze methode totdat een bericht beschikbaar is of de time-out verloopt.

Receive(TimeSpan, MessageQueueTransaction)

Ontvangt het eerste bericht dat beschikbaar is in de transactionele wachtrij waarnaar wordt verwezen door de MessageQueue en wacht totdat een bericht beschikbaar is in de wachtrij of de time-out verloopt.

Receive(TimeSpan, MessageQueueTransactionType)

Ontvangt het eerste bericht dat beschikbaar is in de wachtrij waarnaar wordt verwezen door de MessageQueue. Deze aanroep is synchroon en wacht totdat een bericht beschikbaar is in de wachtrij of de time-out verloopt.

Receive(TimeSpan)

Ontvangt het eerste bericht dat beschikbaar is in de wachtrij waarnaar wordt verwezen door de MessageQueue en wacht totdat een bericht beschikbaar is in de wachtrij of de time-out verloopt.

ReceiveByCorrelationId(String, MessageQueueTransaction)

Ontvangt het bericht dat overeenkomt met de opgegeven correlatie-id (uit een transactionele wachtrij) en genereert onmiddellijk een uitzondering als er momenteel geen bericht met de opgegeven correlatie-id in de wachtrij bestaat.

ReceiveByCorrelationId(String, MessageQueueTransactionType)

Ontvangt het bericht dat overeenkomt met de opgegeven correlatie-id en genereert onmiddellijk een uitzondering als er momenteel geen bericht met de opgegeven correlatie-id in de wachtrij bestaat.

ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransaction)

Ontvangt het bericht dat overeenkomt met de opgegeven correlatie-id (uit een transactionele wachtrij) en wacht totdat een bericht met de opgegeven correlatie-id beschikbaar is in de wachtrij of de time-out verloopt.

ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransactionType)

Ontvangt het bericht dat overeenkomt met de opgegeven correlatie-id en wacht totdat een bericht met de opgegeven correlatie-id beschikbaar is in de wachtrij of de time-out verloopt.

ReceiveByCorrelationId(String, TimeSpan)

Ontvangt het bericht dat overeenkomt met de opgegeven correlatie-id (uit een niet-transactionele wachtrij) en wacht totdat een bericht met de opgegeven correlatie-id beschikbaar is in de wachtrij of de time-out verloopt.

ReceiveByCorrelationId(String)

Ontvangt het bericht dat overeenkomt met de opgegeven correlatie-id (uit een niet-transactionele wachtrij) en genereert onmiddellijk een uitzondering als er momenteel geen bericht met de opgegeven correlatie-id in de wachtrij bestaat.

ReceiveById(String, MessageQueueTransaction)

Hiermee ontvangt u het bericht dat overeenkomt met de opgegeven id (uit een transactionele wachtrij) en wordt er onmiddellijk een uitzondering gegenereerd als er momenteel geen bericht met de opgegeven id in de wachtrij bestaat.

ReceiveById(String, MessageQueueTransactionType)

Ontvangt het bericht dat overeenkomt met de opgegeven id en genereert onmiddellijk een uitzondering als er momenteel geen bericht met de opgegeven id in de wachtrij bestaat.

ReceiveById(String, TimeSpan, MessageQueueTransaction)

Ontvangt het bericht dat overeenkomt met de opgegeven id (uit een transactionele wachtrij) en wacht totdat een bericht met de opgegeven id beschikbaar is in de wachtrij of de time-out verloopt.

ReceiveById(String, TimeSpan, MessageQueueTransactionType)

Ontvangt het bericht dat overeenkomt met de opgegeven id en wacht totdat een bericht met de opgegeven id beschikbaar is in de wachtrij of de time-out verloopt.

ReceiveById(String, TimeSpan)

Ontvangt het bericht dat overeenkomt met de opgegeven id (uit een niet-transactionele wachtrij) en wacht totdat een bericht met de opgegeven id beschikbaar is in de wachtrij of de time-out verloopt.

ReceiveById(String)

Ontvangt het bericht dat overeenkomt met de opgegeven id van een niet-transactionele wachtrij en genereert onmiddellijk een uitzondering als er momenteel geen bericht met de opgegeven id in de wachtrij bestaat.

ReceiveByLookupId(Int64)

Geïntroduceerd in MSMQ 3.0. Ontvangt het bericht dat overeenkomt met de opgegeven opzoek-id van een niet-transactionele wachtrij.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Geïntroduceerd in MSMQ 3.0. Ontvangt een specifiek bericht van een transactionele wachtrij. Het bericht kan worden opgegeven door een opzoek-id of door de positie ervan aan de voorkant of het einde van de wachtrij.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Geïntroduceerd in MSMQ 3.0. Ontvangt een specifiek bericht uit de wachtrij met behulp van de opgegeven transactiecontext. Het bericht kan worden opgegeven door een opzoek-id of door de positie ervan aan de voorkant of het einde van de wachtrij.

Refresh()

Vernieuwt de eigenschappen die worden weergegeven door de MessageQueue eigenschappen die worden weergegeven om de huidige status van de resource weer te geven.

ResetPermissions()

Hiermee stelt u de machtigingslijst opnieuw in op de standaardwaarden van het besturingssysteem. Hiermee verwijdert u alle wachtrijmachtigingen die u hebt toegevoegd aan de standaardlijst.

Send(Object, MessageQueueTransaction)

Hiermee wordt een object verzonden naar de transactionele wachtrij waarnaar wordt verwezen.MessageQueue

Send(Object, MessageQueueTransactionType)

Hiermee wordt een object verzonden naar de wachtrij waarnaar wordt MessageQueueverwezen.

Send(Object, String, MessageQueueTransaction)

Hiermee wordt een object verzonden naar de transactionele wachtrij waarnaar wordt verwezen MessageQueue en wordt een label voor het bericht opgegeven.

Send(Object, String, MessageQueueTransactionType)

Hiermee wordt een object verzonden naar de wachtrij waarnaar wordt MessageQueue verwezen en wordt een label voor het bericht opgegeven.

Send(Object, String)

Hiermee wordt een object verzonden naar de niet-transactionele wachtrij waarnaar wordt verwezen MessageQueue en wordt een label voor het bericht opgegeven.

Send(Object)

Hiermee wordt een object verzonden naar een niet-transactionele wachtrij waarnaar wordt verwezen.MessageQueue

SetPermissions(AccessControlList)

Hiermee wijst u toegangsrechten toe aan de wachtrij op basis van de inhoud van een toegangsbeheerlijst.

SetPermissions(MessageQueueAccessControlEntry)

Hiermee wijst u toegangsrechten toe aan de wachtrij op basis van de inhoud van een vermelding voor toegangsbeheer.

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Geeft een computer, groep of gebruiker de opgegeven toegangsrechten, met het opgegeven toegangsbeheertype (toestaan, weigeren, intrekken of instellen).

SetPermissions(String, MessageQueueAccessRights)

Geeft een computer, groep of gebruiker de opgegeven toegangsrechten.

ToString()

Retourneert een String met de naam van de Component, indien van toepassing. Deze methode mag niet worden overschreven.

(Overgenomen van Component)

gebeurtenis

Name Description
Disposed

Treedt op wanneer het onderdeel wordt verwijderd door een aanroep naar de Dispose() methode.

(Overgenomen van Component)
PeekCompleted

Treedt op wanneer een bericht wordt gelezen zonder uit de wachtrij te worden verwijderd. Dit is het resultaat van de asynchrone bewerking. BeginPeek()

ReceiveCompleted

Treedt op wanneer een bericht uit de wachtrij is verwijderd. Deze gebeurtenis wordt gegenereerd door de asynchrone bewerking, BeginReceive().

Extensiemethoden

Name Description
AsParallel(IEnumerable)

Hiermee schakelt u parallelle uitvoering van een query in.

AsQueryable(IEnumerable)

Converteert een IEnumerable naar een IQueryable.

Cast<TResult>(IEnumerable)

Cast de elementen van een IEnumerable naar het opgegeven type.

OfType<TResult>(IEnumerable)

Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type.

Van toepassing op

Veiligheid thread

Alleen de GetAllMessages() methode is thread safe.

Zie ook