Partager via


MessageQueue Classe

Définition

Fournit l’accès à une file d’attente sur un serveur Message Queuing.

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
Héritage
Attributs
Implémente

Exemples

L’exemple de code suivant crée de nouveaux MessageQueue objets à l’aide de différents types de syntaxe de nom de chemin d’accès. Dans chaque cas, il envoie un message à la file d’attente dont le chemin d’accès est défini dans le constructeur.

#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

L’exemple de code suivant envoie un message à une file d’attente et reçoit un message d’une file d’attente à l’aide d’une classe spécifique à l’application appelée 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

Remarques

La technologie Message Queuing permet aux applications qui s’exécutent à différents moments de communiquer entre les réseaux et systèmes hétérogènes qui peuvent être temporairement hors connexion. Les applications envoient, reçoivent ou affichent (lecture sans suppression) des messages des files d’attente. Message Queuing est un composant facultatif de Windows 2000 et Windows NT et doit être installé séparément.

La MessageQueue classe est un wrapper autour de Message Queuing. Il existe plusieurs versions de Message Queuing et l’utilisation de la MessageQueue classe peut entraîner un comportement légèrement différent, selon le système d’exploitation que vous utilisez.

La MessageQueue classe fournit une référence à une file d’attente Message Queuing. Vous pouvez spécifier un chemin d’accès dans le MessageQueue constructeur pour vous connecter à une ressource existante, ou créer une file d’attente sur le serveur. Avant de pouvoir appeler Send(Object), Peekou Receive, vous devez associer la nouvelle instance de la MessageQueue classe à une file d’attente existante. À ce stade, vous pouvez manipuler les propriétés de file d’attente telles que Category et Label.

MessageQueue prend en charge deux types de récupération de messages : synchrone et asynchrone. Les méthodes synchrones et PeekReceive, provoquent l’attente d’un intervalle de temps spécifié pour qu’un nouveau message arrive dans la file d’attente. Les méthodes BeginPeek asynchrones et BeginReceive, autorisent les principales tâches d’application à continuer dans un thread distinct jusqu’à ce qu’un message arrive dans la file d’attente. Ces méthodes fonctionnent à l’aide d’objets de rappel et d’objets d’état pour communiquer des informations entre des threads.

Lorsque vous créez une instance de la MessageQueue classe, vous ne créez pas de file d’attente Message Queuing. Au lieu de cela, vous pouvez utiliser les méthodes et Delete(String)Purge les Create(String)méthodes pour gérer les files d’attente sur le serveur.

Contrairement Purgeà , Create(String) et Delete(String) sont static membres, vous pouvez donc les appeler sans créer une nouvelle instance de la MessageQueue classe.

Vous pouvez définir la propriété de l’objet MessageQueue avec l’un des trois noms suivants : le nom convivial, le FormatNameou le Label.Path Le nom convivial, défini par les propriétés et les propriétés de MachineName la file d’attente, concerneQueueNameMachineName\une file d’attente publique et MachineNameQueueName\\Private$une file d’attente privée.QueueName La FormatName propriété autorise l’accès hors connexion aux files d’attente de messages. Enfin, vous pouvez utiliser la propriété de Label la file d’attente pour définir la file d’attente Path.

Pour obtenir la liste des valeurs de propriété initiales d’une instance de MessageQueue, consultez le MessageQueue constructeur.

Constructeurs

Nom Description
MessageQueue()

Initialise une nouvelle instance de la classe MessageQueue. Une fois que le constructeur sans paramètre initialise la nouvelle instance, vous devez définir la propriété de l’instance avant de Path pouvoir utiliser l’instance.

MessageQueue(String, Boolean, Boolean, QueueAccessMode)

Initialise une nouvelle instance de la classe MessageQueue.

MessageQueue(String, Boolean, Boolean)

Initialise une nouvelle instance de la classe MessageQueue.

MessageQueue(String, Boolean)

Initialise une nouvelle instance de la MessageQueue classe qui référence la file d’attente Message Queuing au chemin d’accès spécifié et avec la restriction d’accès en lecture spécifiée.

MessageQueue(String, QueueAccessMode)

Initialise une nouvelle instance de la classe MessageQueue.

MessageQueue(String)

Initialise une nouvelle instance de la MessageQueue classe qui référence la file d’attente Message Queuing au chemin spécifié.

Champs

Nom Description
InfiniteQueueSize

Spécifie qu’aucune restriction de taille n’existe pour une file d’attente.

InfiniteTimeout

Spécifie qu’aucun délai d’attente n’existe pour les méthodes qui examinent ou reçoivent des messages.

Propriétés

Nom Description
AccessMode

Obtient une valeur qui indique le mode d’accès de la file d’attente.

Authenticate

Obtient ou définit une valeur qui indique si la file d’attente accepte uniquement les messages authentifiés.

BasePriority

Obtient ou définit la priorité de base Utilisée par Message Queuing pour router les messages d’une file d’attente publique sur le réseau.

CanRaiseEvents

Obtient une valeur indiquant si le composant peut déclencher un événement.

(Hérité de Component)
CanRead

Obtient une valeur qui indique si l’objet MessageQueue peut être lu.

CanWrite

Obtient une valeur qui indique si la MessageQueue valeur peut être écrite.

Category

Obtient ou définit la catégorie de file d’attente.

Container

Obtient le IContainer fichier qui contient le Component.

(Hérité de Component)
CreateTime

Obtient l’heure et la date à laquelle la file d’attente a été créée dans Message Queuing.

DefaultPropertiesToSend

Obtient ou définit les valeurs de propriété de message à utiliser par défaut lorsque l’application envoie des messages à la file d’attente.

DenySharedReceive

Obtient ou définit une valeur qui indique si cela MessageQueue a un accès exclusif pour recevoir des messages de la file d’attente Message Queuing.

DesignMode

Obtient une valeur qui indique si la Component valeur est actuellement en mode création.

(Hérité de Component)
EnableConnectionCache

Obtient ou définit une valeur qui indique si un cache de connexions sera conservé par l’application.

EncryptionRequired

Obtient ou définit une valeur qui indique si la file d’attente accepte uniquement les messages non privés (non chiffrés).

Events

Obtient la liste des gestionnaires d’événements qui sont attachés à ce Component.

(Hérité de Component)
FormatName

Obtient le nom de file d’attente unique généré par Message Queuing au moment de la création de la file d’attente.

Formatter

Obtient ou définit le formateur utilisé pour sérialiser un objet dans ou désérialiser un objet à partir du corps d’un message lu ou écrit dans la file d’attente.

Id

Obtient l’identificateur Message Queuing unique de la file d’attente.

Label

Obtient ou définit la description de la file d’attente.

LastModifyTime

Obtient la dernière fois que les propriétés d’une file d’attente ont été modifiées.

MachineName

Obtient ou définit le nom de l’ordinateur où se trouve la file d’attente Message Queuing.

MaximumJournalSize

Obtient ou définit la taille maximale de la file d’attente du journal.

MaximumQueueSize

Obtient ou définit la taille maximale de la file d’attente.

MessageReadPropertyFilter

Obtient ou définit le filtre de propriété pour la réception ou l’aperçu des messages.

MulticastAddress

Obtient ou définit l’adresse de multidiffusion associée à la file d’attente.

Path

Obtient ou définit le chemin d’accès de la file d’attente. Définir les Path causes du MessageQueue point vers une nouvelle file d’attente.

QueueName

Obtient ou définit le nom convivial qui identifie la file d’attente.

ReadHandle

Obtient le handle natif utilisé pour lire les messages de la file d’attente de messages.

Site

Obtient ou définit le ISiteComponent.

(Hérité de Component)
SynchronizingObject

Obtient ou définit l’objet qui marshale l’appel du gestionnaire d’événements résultant d’un ou PeekCompleted d’un ReceiveCompleted événement.

Transactional

Obtient une valeur qui indique si la file d’attente accepte uniquement les transactions.

UseJournalQueue

Obtient ou définit une valeur qui indique si les messages reçus sont copiés dans la file d’attente du journal.

WriteHandle

Obtient le handle natif utilisé pour envoyer des messages à la file d’attente des messages.

Méthodes

Nom Description
BeginPeek()

Lance une opération d’aperçu asynchrone qui n’a pas de délai d’attente. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente.

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

Lance une opération d’aperçu asynchrone qui a un délai d’attente spécifié et qui utilise un curseur spécifié, une action d’aperçu spécifiée et un objet d’état spécifié. L’objet d’état fournit des informations associées tout au long de la durée de vie de l’opération. Cette surcharge reçoit la notification, via un rappel, de l’identité du gestionnaire d’événements pour l’opération. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente ou que le délai d’attente se produit.

BeginPeek(TimeSpan, Object, AsyncCallback)

Lance une opération d’aperçu asynchrone qui a un délai d’attente spécifié et un objet d’état spécifié, qui fournit des informations associées tout au long de la durée de vie de l’opération. Cette surcharge reçoit la notification, via un rappel, de l’identité du gestionnaire d’événements pour l’opération. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente ou que le délai d’attente se produit.

BeginPeek(TimeSpan, Object)

Lance une opération d’aperçu asynchrone qui a un délai d’attente spécifié et un objet d’état spécifié, qui fournit des informations associées tout au long de la durée de vie de l’opération. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente ou que le délai d’attente se produit.

BeginPeek(TimeSpan)

Lance une opération d’aperçu asynchrone qui a un délai d’attente spécifié. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente ou que le délai d’attente se produit.

BeginReceive()

Lance une opération de réception asynchrone qui n’a pas de délai d’attente. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente.

BeginReceive(TimeSpan, Cursor, Object, AsyncCallback)

Lance une opération de réception asynchrone qui a un délai d’attente spécifié et utilise un curseur spécifié et un objet d’état spécifié. L’objet d’état fournit des informations associées tout au long de la durée de vie de l’opération. Cette surcharge reçoit la notification, via un rappel, de l’identité du gestionnaire d’événements pour l’opération. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente ou que le délai d’attente se produit.

BeginReceive(TimeSpan, Object, AsyncCallback)

Lance une opération de réception asynchrone qui a un délai d’attente spécifié et un objet d’état spécifié, qui fournit des informations associées tout au long de la durée de vie de l’opération. Cette surcharge reçoit la notification, via un rappel, de l’identité du gestionnaire d’événements pour l’opération. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente ou que le délai d’attente se produit.

BeginReceive(TimeSpan, Object)

Lance une opération de réception asynchrone qui a un délai d’attente spécifié et un objet d’état spécifié, qui fournit des informations associées tout au long de la durée de vie de l’opération. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente ou que le délai d’attente se produit.

BeginReceive(TimeSpan)

Lance une opération de réception asynchrone qui a un délai d’attente spécifié. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans la file d’attente ou que le délai d’attente se produit.

ClearConnectionCache()

Efface le cache de connexion.

Close()

Libère toutes les ressources allouées par le MessageQueue.

Create(String, Boolean)

Crée une file d’attente Message Queuing transactionnelle ou non transactionnelle au chemin d’accès spécifié.

Create(String)

Crée une file d’attente Message Queuing non transactionnelle au niveau du chemin d’accès spécifié.

CreateCursor()

Crée une nouvelle Cursor pour la file d’attente de messages actuelle.

CreateObjRef(Type)

Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Delete(String)

Supprime une file d’attente sur un serveur Message Queuing.

Dispose()

Libère toutes les ressources utilisées par le Component.

(Hérité de Component)
Dispose(Boolean)

Supprime les ressources (autres que la mémoire) utilisées par le MessageQueue.

EndPeek(IAsyncResult)

Termine l’opération d’aperçu asynchrone spécifiée.

EndReceive(IAsyncResult)

Termine l’opération de réception asynchrone spécifiée.

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
Exists(String)

Détermine si une file d’attente Message Queuing existe au niveau du chemin d’accès spécifié.

GetAllMessages()

Retourne tous les messages qui se trouvent dans la file d’attente.

GetEnumerator()
Obsolète.

Énumère les messages d’une file d’attente. GetEnumerator() est déconseillé. Il est préférable d'utiliser GetMessageEnumerator2().

GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetMachineId(String)

Obtient l’identificateur de l’ordinateur sur lequel se trouve la file d’attente référencée par celui-ci MessageQueue .

GetMessageEnumerator()
Obsolète.

Crée un objet d’énumérateur pour tous les messages de la file d’attente. GetMessageEnumerator() est déconseillé. Il est préférable d'utiliser GetMessageEnumerator2().

GetMessageEnumerator2()

Crée un objet d’énumérateur pour tous les messages de la file d’attente.

GetMessageQueueEnumerator()

Fournit une sémantique de curseur vers l’avant uniquement pour énumérer toutes les files d’attente publiques sur le réseau.

GetMessageQueueEnumerator(MessageQueueCriteria)

Fournit une sémantique de curseur vers l’avant uniquement pour énumérer toutes les files d’attente publiques sur le réseau qui répondent aux critères spécifiés.

GetPrivateQueuesByMachine(String)

Récupère toutes les files d’attente privées sur l’ordinateur spécifié.

GetPublicQueues()

Récupère toutes les files d’attente publiques sur le réseau.

GetPublicQueues(MessageQueueCriteria)

Récupère toutes les files d’attente publiques sur le réseau qui répondent aux critères spécifiés.

GetPublicQueuesByCategory(Guid)

Récupère toutes les files d’attente publiques sur le réseau qui appartiennent à la catégorie spécifiée.

GetPublicQueuesByLabel(String)

Récupère toutes les files d’attente publiques sur le réseau qui portent l’étiquette spécifiée.

GetPublicQueuesByMachine(String)

Récupère toutes les files d’attente publiques qui résident sur l’ordinateur spécifié.

GetSecurityContext()

Récupère le contexte de sécurité associé à MSMQ à l’utilisateur actuel (identité de thread) au moment de cet appel.

GetService(Type)

Retourne un objet qui représente un service fourni par le Component ou par son Container.

(Hérité de Component)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l’objet actuel MarshalByRefObject .

(Hérité de MarshalByRefObject)
Peek()

Retourne sans supprimer (aperçus) le premier message de la file d’attente référencée par ce MessageQueue. La méthode est synchrone. Elle Peek() bloque donc le thread actuel jusqu’à ce qu’un message soit disponible.

Peek(TimeSpan, Cursor, PeekAction)

Retourne sans supprimer (aperçus) le message actif ou suivant dans la file d’attente, à l’aide du curseur spécifié. La Peek() méthode est synchrone, de sorte qu’elle bloque le thread actuel jusqu’à ce qu’un message devienne disponible ou que le délai d’attente spécifié se produise.

Peek(TimeSpan)

Retourne sans supprimer (aperçus) le premier message de la file d’attente référencée par ce MessageQueue. La Peek() méthode est synchrone, de sorte qu’elle bloque le thread actuel jusqu’à ce qu’un message devienne disponible ou que le délai d’attente spécifié se produise.

PeekByCorrelationId(String, TimeSpan)

Examine le message qui correspond à l’identificateur de corrélation donné et attend qu’un message avec l’identificateur de corrélation spécifié soit disponible dans la file d’attente, soit que le délai d’expiration expire.

PeekByCorrelationId(String)

Examine le message qui correspond à l’identificateur de corrélation donné et déclenche immédiatement une exception si aucun message avec l’identificateur de corrélation spécifié existe actuellement dans la file d’attente.

PeekById(String, TimeSpan)

Examine le message dont l’identificateur de message correspond au id paramètre. Attend que le message apparaisse dans la file d’attente ou qu’un délai d’attente se produise.

PeekById(String)

Examine le message dont l’identificateur de message correspond au id paramètre.

PeekByLookupId(Int64)

Introduit dans MSMQ 3.0. Examine le message qui correspond à l’identificateur de recherche donné à partir d’une file d’attente non transactionnelle.

PeekByLookupId(MessageLookupAction, Int64)

Introduit dans MSMQ 3.0. Examine un message spécifique de la file d’attente. Le message peut être spécifié par un identificateur de recherche ou par sa position à l’avant ou à la fin de la file d’attente.

Purge()

Supprime tous les messages contenus dans la file d’attente.

Receive()

Reçoit le premier message disponible dans la file d’attente référencée par le MessageQueue. Cet appel est synchrone et bloque le thread d’exécution actuel jusqu’à ce qu’un message soit disponible.

Receive(MessageQueueTransaction)

Reçoit le premier message disponible dans la file d’attente transactionnelle référencée par le MessageQueue. Cet appel est synchrone et bloque le thread d’exécution actuel jusqu’à ce qu’un message soit disponible.

Receive(MessageQueueTransactionType)

Reçoit le premier message disponible dans la file d’attente référencée par le MessageQueue. Cet appel est synchrone et bloque le thread d’exécution actuel jusqu’à ce qu’un message soit disponible.

Receive(TimeSpan, Cursor, MessageQueueTransaction)

Reçoit le message actuel dans la file d’attente à l’aide d’un curseur spécifié. Si aucun message n’est disponible, cette méthode attend qu’un message soit disponible ou que le délai d’expiration expire.

Receive(TimeSpan, Cursor, MessageQueueTransactionType)

Reçoit le message actuel dans la file d’attente à l’aide d’un curseur spécifié. Si aucun message n’est disponible, cette méthode attend qu’un message soit disponible ou que le délai d’expiration expire.

Receive(TimeSpan, Cursor)

Reçoit le message actuel dans la file d’attente à l’aide d’un curseur spécifié. Si aucun message n’est disponible, cette méthode attend qu’un message soit disponible ou que le délai d’expiration expire.

Receive(TimeSpan, MessageQueueTransaction)

Reçoit le premier message disponible dans la file d’attente transactionnelle référencée par le MessageQueue message et attend qu’un message soit disponible dans la file d’attente, soit que le délai d’expiration expire.

Receive(TimeSpan, MessageQueueTransactionType)

Reçoit le premier message disponible dans la file d’attente référencée par le MessageQueue. Cet appel est synchrone et attend qu’un message soit disponible dans la file d’attente, soit que le délai d’expiration expire.

Receive(TimeSpan)

Reçoit le premier message disponible dans la file d’attente référencée par la MessageQueue file d’attente et attend qu’un message soit disponible dans la file d’attente, soit que le délai d’expiration expire.

ReceiveByCorrelationId(String, MessageQueueTransaction)

Reçoit le message qui correspond à l’identificateur de corrélation donné (à partir d’une file d’attente transactionnelle) et déclenche immédiatement une exception si aucun message avec l’identificateur de corrélation spécifié existe actuellement dans la file d’attente.

ReceiveByCorrelationId(String, MessageQueueTransactionType)

Reçoit le message qui correspond à l’identificateur de corrélation donné et déclenche immédiatement une exception si aucun message avec l’identificateur de corrélation spécifié existe actuellement dans la file d’attente.

ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransaction)

Reçoit le message qui correspond à l’identificateur de corrélation donné (à partir d’une file d’attente transactionnelle) et attend qu’un message avec l’identificateur de corrélation spécifié soit disponible dans la file d’attente, soit que le délai d’expiration expire.

ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransactionType)

Reçoit le message qui correspond à l’identificateur de corrélation donné et attend qu’un message avec l’identificateur de corrélation spécifié soit disponible dans la file d’attente, soit que le délai d’expiration expire.

ReceiveByCorrelationId(String, TimeSpan)

Reçoit le message qui correspond à l’identificateur de corrélation donné (à partir d’une file d’attente non transactionnelle) et attend qu’un message avec l’identificateur de corrélation spécifié soit disponible dans la file d’attente, soit que le délai d’expiration expire.

ReceiveByCorrelationId(String)

Reçoit le message qui correspond à l’identificateur de corrélation donné (à partir d’une file d’attente non transactionnelle) et déclenche immédiatement une exception si aucun message avec l’identificateur de corrélation spécifié existe actuellement dans la file d’attente.

ReceiveById(String, MessageQueueTransaction)

Reçoit le message qui correspond à l’identificateur donné (à partir d’une file d’attente transactionnelle) et déclenche immédiatement une exception si aucun message avec l’identificateur spécifié existe actuellement dans la file d’attente.

ReceiveById(String, MessageQueueTransactionType)

Reçoit le message qui correspond à l’identificateur donné et déclenche immédiatement une exception si aucun message avec l’identificateur spécifié existe actuellement dans la file d’attente.

ReceiveById(String, TimeSpan, MessageQueueTransaction)

Reçoit le message qui correspond à l’identificateur donné (à partir d’une file d’attente transactionnelle) et attend qu’un message avec l’identificateur spécifié soit disponible dans la file d’attente, soit que le délai d’expiration expire.

ReceiveById(String, TimeSpan, MessageQueueTransactionType)

Reçoit le message qui correspond à l’identificateur donné et attend qu’un message avec l’identificateur spécifié soit disponible dans la file d’attente, soit que le délai d’expiration expire.

ReceiveById(String, TimeSpan)

Reçoit le message qui correspond à l’identificateur donné (à partir d’une file d’attente non transactionnelle) et attend qu’un message avec l’identificateur spécifié soit disponible dans la file d’attente ou que le délai d’expiration expire.

ReceiveById(String)

Reçoit le message qui correspond à l’identificateur donné d’une file d’attente non transactionnelle et déclenche immédiatement une exception si aucun message avec l’identificateur spécifié existe actuellement dans la file d’attente.

ReceiveByLookupId(Int64)

Introduit dans MSMQ 3.0. Reçoit le message qui correspond à l’identificateur de recherche donné à partir d’une file d’attente non transactionnelle.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introduit dans MSMQ 3.0. Reçoit un message spécifique d’une file d’attente transactionnelle. Le message peut être spécifié par un identificateur de recherche ou par sa position à l’avant ou à la fin de la file d’attente.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Introduit dans MSMQ 3.0. Reçoit un message spécifique de la file d’attente à l’aide du contexte de transaction spécifié. Le message peut être spécifié par un identificateur de recherche ou par sa position à l’avant ou à la fin de la file d’attente.

Refresh()

Actualise les propriétés présentées par la MessageQueue ressource pour refléter l’état actuel de la ressource.

ResetPermissions()

Réinitialise la liste d’autorisations aux valeurs par défaut du système d’exploitation. Supprime les autorisations de file d’attente que vous avez ajoutées à la liste par défaut.

Send(Object, MessageQueueTransaction)

Envoie un objet à la file d’attente transactionnelle référencée par ce MessageQueue.

Send(Object, MessageQueueTransactionType)

Envoie un objet à la file d’attente référencée par ce MessageQueue.

Send(Object, String, MessageQueueTransaction)

Envoie un objet à la file d’attente transactionnelle référencée par ceci MessageQueue et spécifie une étiquette pour le message.

Send(Object, String, MessageQueueTransactionType)

Envoie un objet à la file d’attente référencée par ceci MessageQueue et spécifie une étiquette pour le message.

Send(Object, String)

Envoie un objet à la file d’attente non transactionnelle référencée par ceci MessageQueue et spécifie une étiquette pour le message.

Send(Object)

Envoie un objet à une file d’attente non transactionnelle référencée par ce MessageQueue.

SetPermissions(AccessControlList)

Attribue des droits d’accès à la file d’attente en fonction du contenu d’une liste de contrôle d’accès.

SetPermissions(MessageQueueAccessControlEntry)

Attribue des droits d’accès à la file d’attente en fonction du contenu d’une entrée de contrôle d’accès.

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Donne à un ordinateur, un groupe ou un utilisateur les droits d’accès spécifiés, avec le type de contrôle d’accès spécifié (autoriser, refuser, révoquer ou définir).

SetPermissions(String, MessageQueueAccessRights)

Donne à un ordinateur, un groupe ou un utilisateur les droits d’accès spécifiés.

ToString()

Retourne un String nom contenant le nom du Component, le cas échéant. Cette méthode ne doit pas être remplacée.

(Hérité de Component)

Événements

Nom Description
Disposed

Se produit lorsque le composant est supprimé par un appel à la Dispose() méthode.

(Hérité de Component)
PeekCompleted

Se produit lorsqu’un message est lu sans être supprimé de la file d’attente. Il s’agit d’un résultat de l’opération asynchrone. BeginPeek()

ReceiveCompleted

Se produit lorsqu’un message a été supprimé de la file d’attente. Cet événement est déclenché par l’opération asynchrone. BeginReceive()

Méthodes d’extension

Nom Description
AsParallel(IEnumerable)

Active la parallélisation d’une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

Cast<TResult>(IEnumerable)

Convertit les éléments d’un IEnumerable en type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d’une IEnumerable en fonction d’un type spécifié.

S’applique à

Cohérence de thread

Seule la GetAllMessages() méthode est thread safe.

Voir aussi