MessageQueue Klass

Definition

Ger åtkomst till en kö på en 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
Arv
Attribut
Implementeringar

Exempel

I följande kodexempel skapas nya MessageQueue objekt med olika syntaxtyper för sökvägsnamn. I varje fall skickar den ett meddelande till kön vars sökväg har definierats i konstruktorn.

#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

Följande kodexempel skickar ett meddelande till en kö och tar emot ett meddelande från en kö med hjälp av en programspecifik klass med namnet 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

Kommentarer

Med Message Queuing-tekniken kan program som körs vid olika tidpunkter kommunicera mellan heterogena nätverk och system som tillfälligt kan vara offline. Program skickar, tar emot eller granskar (läser utan att ta bort) meddelanden från köer. Message Queuing är en valfri komponent i Windows 2000 och Windows NT och måste installeras separat.

Klassen MessageQueue är en omslutning runt Message Queuing. Det finns flera versioner av Message Queuing, och om du använder MessageQueue klassen kan det leda till något annorlunda beteende, beroende på vilket operativsystem du använder.

Klassen MessageQueue innehåller en referens till en Message Queuing-kö. Du kan ange en sökväg i MessageQueue konstruktorn för att ansluta till en befintlig resurs, eller så kan du skapa en ny kö på servern. Innan du kan anropa Send(Object), Peekeller Receive, måste du associera den nya instansen MessageQueue av klassen med en befintlig kö. Då kan du ändra köegenskaperna, till exempel Category och Label.

MessageQueue stöder två typer av meddelandehämtning: synkron och asynkron. Synkrona metoder, Peek och Receive, gör att processtråden väntar ett angivet tidsintervall för att ett nytt meddelande ska tas emot i kön. Med asynkrona metoder och BeginPeekBeginReceive, kan de huvudsakliga programuppgifterna fortsätta i en separat tråd tills ett meddelande tas emot i kön. Dessa metoder fungerar med hjälp av motringningsobjekt och tillståndsobjekt för att kommunicera information mellan trådar.

När du skapar en ny instans av MessageQueue klassen skapar du inte en ny Message Queuing-kö. I stället kan du använda Create(String)metoderna , Delete(String)och Purge för att hantera köer på servern.

Till skillnad från Purge, Create(String) och Delete(String) är static medlemmar, så kan du anropa dem utan att skapa en ny instans av MessageQueue klassen.

Du kan ange MessageQueue objektets Path egenskap med ett av tre namn: det egna namnet, FormatNameeller Label. Det egna namnet, som definieras av köns och egenskaperna, är MachineNameQueueNameMachineNameför en offentlig kö och\QueueNameMachineName\Private$för en privat kö.\QueueName Egenskapen FormatName ger offlineåtkomst till meddelandeköer. Slutligen kan du använda köns Label egenskap för att ange köns Path.

En lista över initiala egenskapsvärden för en instans av MessageQueuefinns i MessageQueue konstruktorn.

Konstruktorer

Name Description
MessageQueue()

Initierar en ny instans av MessageQueue klassen. När den parameterlösa konstruktorn initierar den nya instansen måste du ange instansens Path egenskap innan du kan använda instansen.

MessageQueue(String, Boolean, Boolean, QueueAccessMode)

Initierar en ny instans av MessageQueue klassen.

MessageQueue(String, Boolean, Boolean)

Initierar en ny instans av MessageQueue klassen.

MessageQueue(String, Boolean)

Initierar en ny instans av MessageQueue klassen som refererar till message queuing-kön på den angivna sökvägen och med den angivna begränsningen för läsåtkomst.

MessageQueue(String, QueueAccessMode)

Initierar en ny instans av MessageQueue klassen.

MessageQueue(String)

Initierar en ny instans av MessageQueue klassen som refererar till kön Message Queuing på den angivna sökvägen.

Fält

Name Description
InfiniteQueueSize

Anger att det inte finns någon storleksbegränsning för en kö.

InfiniteTimeout

Anger att det inte finns någon tidsgräns för metoder som granskar eller tar emot meddelanden.

Egenskaper

Name Description
AccessMode

Hämtar ett värde som anger åtkomstläget för kön.

Authenticate

Hämtar eller anger ett värde som anger om kön endast accepterar autentiserade meddelanden.

BasePriority

Hämtar eller anger den basprioritet som Message Queuing använder för att dirigera en offentlig kös meddelanden över nätverket.

CanRaiseEvents

Hämtar ett värde som anger om komponenten kan generera en händelse.

(Ärvd från Component)
CanRead

Hämtar ett värde som anger om kan MessageQueue läsas.

CanWrite

Hämtar ett värde som anger om kan MessageQueue skrivas till.

Category

Hämtar eller anger kökategorin.

Container

Hämtar som IContainer innehåller Component.

(Ärvd från Component)
CreateTime

Hämtar tid och datum då kön skapades i Message Queuing.

DefaultPropertiesToSend

Hämtar eller anger de värden för meddelandeegenskapen som ska användas som standard när programmet skickar meddelanden till kön.

DenySharedReceive

Hämtar eller anger ett värde som anger om detta MessageQueue har exklusiv åtkomst för att ta emot meddelanden från Message Queuing-kön.

DesignMode

Hämtar ett värde som anger om det Component för närvarande är i designläge.

(Ärvd från Component)
EnableConnectionCache

Hämtar eller anger ett värde som anger om ett cacheminne med anslutningar ska underhållas av programmet.

EncryptionRequired

Hämtar eller anger ett värde som anger om kön endast accepterar icke-privata (icke-krypterade) meddelanden.

Events

Hämtar listan över händelsehanterare som är kopplade till den här Component.

(Ärvd från Component)
FormatName

Hämtar det unika könamnet som Message Queuing genererade när kön skapades.

Formatter

Hämtar eller anger formatören som används för att serialisera ett objekt till eller deserialisera ett objekt från brödtexten i ett meddelande som lästs från eller skrivits till kön.

Id

Hämtar den unika Message Queuing-identifieraren för kön.

Label

Hämtar eller anger köbeskrivningen.

LastModifyTime

Hämtar senaste gången egenskaperna för en kö ändrades.

MachineName

Hämtar eller anger namnet på datorn där Message Queuing-kön finns.

MaximumJournalSize

Hämtar eller anger den maximala storleken på journalkön.

MaximumQueueSize

Hämtar eller anger den maximala storleken på kön.

MessageReadPropertyFilter

Hämtar eller anger egenskapsfiltret för att ta emot eller granska meddelanden.

MulticastAddress

Hämtar eller anger den multicast-adress som är associerad med kön.

Path

Hämtar eller anger köns sökväg. Path Om du anger orsaken pekar du MessageQueue på en ny kö.

QueueName

Hämtar eller anger det eget namn som identifierar kön.

ReadHandle

Hämtar det interna handtaget som används för att läsa meddelanden från meddelandekön.

Site

Hämtar eller ställer in ISite i Component.

(Ärvd från Component)
SynchronizingObject

Hämtar eller anger det objekt som konverterar händelsehanteraranropet till följd av en eller ReceiveCompleted flera PeekCompleted händelser.

Transactional

Hämtar ett värde som anger om kön endast accepterar transaktioner.

UseJournalQueue

Hämtar eller anger ett värde som anger om mottagna meddelanden kopieras till journalkön.

WriteHandle

Hämtar det interna handtaget som används för att skicka meddelanden till meddelandekön.

Metoder

Name Description
BeginPeek()

Initierar en asynkron granskningsåtgärd som inte har någon tidsgräns. Åtgärden är inte slutförd förrän ett meddelande blir tillgängligt i kön.

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

Initierar en asynkron granskningsåtgärd som har en angiven tidsgräns och som använder en angiven markör, en angiven tittåtgärd och ett angivet tillståndsobjekt. Tillståndsobjektet innehåller associerad information under hela åtgärdens livslängd. Den här överlagringen tar emot ett meddelande via ett återanrop om identiteten för händelsehanteraren för åtgärden. Åtgärden är inte slutförd förrän antingen ett meddelande blir tillgängligt i kön eller tidsgränsen inträffar.

BeginPeek(TimeSpan, Object, AsyncCallback)

Initierar en asynkron granskningsåtgärd som har en angiven tidsgräns och ett angivet tillståndsobjekt, som tillhandahåller associerad information under hela åtgärdens livslängd. Den här överlagringen tar emot ett meddelande via ett återanrop om identiteten för händelsehanteraren för åtgärden. Åtgärden är inte slutförd förrän antingen ett meddelande blir tillgängligt i kön eller tidsgränsen inträffar.

BeginPeek(TimeSpan, Object)

Initierar en asynkron granskningsåtgärd som har en angiven tidsgräns och ett angivet tillståndsobjekt, som tillhandahåller associerad information under hela åtgärdens livslängd. Åtgärden är inte slutförd förrän antingen ett meddelande blir tillgängligt i kön eller tidsgränsen inträffar.

BeginPeek(TimeSpan)

Initierar en asynkron granskningsåtgärd som har en angiven tidsgräns. Åtgärden är inte slutförd förrän antingen ett meddelande blir tillgängligt i kön eller tidsgränsen inträffar.

BeginReceive()

Initierar en asynkron mottagningsåtgärd som inte har någon tidsgräns. Åtgärden är inte slutförd förrän ett meddelande blir tillgängligt i kön.

BeginReceive(TimeSpan, Cursor, Object, AsyncCallback)

Initierar en asynkron mottagningsåtgärd som har en angiven tidsgräns och använder en angiven markör och ett angivet tillståndsobjekt. Tillståndsobjektet innehåller associerad information under hela åtgärdens livslängd. Den här överlagringen tar emot ett meddelande via ett återanrop om identiteten för händelsehanteraren för åtgärden. Åtgärden är inte slutförd förrän antingen ett meddelande blir tillgängligt i kön eller tidsgränsen inträffar.

BeginReceive(TimeSpan, Object, AsyncCallback)

Initierar en asynkron mottagningsåtgärd som har en angiven tidsgräns och ett angivet tillståndsobjekt, som tillhandahåller associerad information under hela åtgärdens livslängd. Den här överlagringen tar emot ett meddelande via ett återanrop om identiteten för händelsehanteraren för åtgärden. Åtgärden är inte slutförd förrän antingen ett meddelande blir tillgängligt i kön eller tidsgränsen inträffar.

BeginReceive(TimeSpan, Object)

Initierar en asynkron mottagningsåtgärd som har en angiven tidsgräns och ett angivet tillståndsobjekt, som tillhandahåller associerad information under hela åtgärdens livslängd. Åtgärden är inte slutförd förrän antingen ett meddelande blir tillgängligt i kön eller tidsgränsen inträffar.

BeginReceive(TimeSpan)

Initierar en asynkron mottagningsåtgärd som har en angiven tidsgräns. Åtgärden är inte slutförd förrän antingen ett meddelande blir tillgängligt i kön eller tidsgränsen inträffar.

ClearConnectionCache()

Rensar anslutningscachen.

Close()

Frigör alla resurser som allokeras av MessageQueue.

Create(String, Boolean)

Skapar en transaktionell eller icke-transaktionell Meddelandekö på den angivna sökvägen.

Create(String)

Skapar en kö för meddelandekö som inte är transaktionell vid den angivna sökvägen.

CreateCursor()

Skapar en ny Cursor för den aktuella meddelandekön.

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Delete(String)

Tar bort en kö på en Message Queuing-server.

Dispose()

Släpper alla resurser som används av Component.

(Ärvd från Component)
Dispose(Boolean)

Gör sig av med de resurser (förutom minne) som används av MessageQueue.

EndPeek(IAsyncResult)

Slutför den angivna asynkrona granskningsåtgärden.

EndReceive(IAsyncResult)

Slutför den angivna asynkrona mottagningsåtgärden.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Exists(String)

Avgör om en Message Queuing-kö finns på den angivna sökvägen.

GetAllMessages()

Returnerar alla meddelanden som finns i kön.

GetEnumerator()
Föråldrad.

Räknar upp meddelandena i en kö. GetEnumerator() är inaktuell. GetMessageEnumerator2() ska användas i stället.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()
Föråldrad.

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetMachineId(String)

Hämtar identifieraren för den dator där kön som refereras av detta MessageQueue finns.

GetMessageEnumerator()
Föråldrad.

Skapar ett uppräkningsobjekt för alla meddelanden i kön. GetMessageEnumerator() är inaktuell. GetMessageEnumerator2() ska användas i stället.

GetMessageEnumerator2()

Skapar ett uppräkningsobjekt för alla meddelanden i kön.

GetMessageQueueEnumerator()

Tillhandahåller markörsemantik för vidarebefordran för att räkna upp genom alla offentliga köer i nätverket.

GetMessageQueueEnumerator(MessageQueueCriteria)

Tillhandahåller markörsemantik för vidarebefordran för att räkna upp genom alla offentliga köer i nätverket som uppfyller de angivna kriterierna.

GetPrivateQueuesByMachine(String)

Hämtar alla privata köer på den angivna datorn.

GetPublicQueues()

Hämtar alla offentliga köer i nätverket.

GetPublicQueues(MessageQueueCriteria)

Hämtar alla offentliga köer i nätverket som uppfyller de angivna kriterierna.

GetPublicQueuesByCategory(Guid)

Hämtar alla offentliga köer i nätverket som tillhör den angivna kategorin.

GetPublicQueuesByLabel(String)

Hämtar alla offentliga köer i nätverket som bär den angivna etiketten.

GetPublicQueuesByMachine(String)

Hämtar alla offentliga köer som finns på den angivna datorn.

GetSecurityContext()

Hämtar säkerhetskontexten som MSMQ associerar med den aktuella användaren (trådidentitet) vid tidpunkten för det här anropet.

GetService(Type)

Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container.

(Ärvd från Component)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()
Föråldrad.

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
Peek()

Returnerar utan att ta bort (granskar) det första meddelandet i kön som refereras till av den här MessageQueue. Metoden Peek() är synkron, så den blockerar den aktuella tråden tills ett meddelande blir tillgängligt.

Peek(TimeSpan, Cursor, PeekAction)

Returnerar utan att ta bort (granskar) det aktuella eller nästa meddelandet i kön med den angivna markören. Metoden Peek() är synkron, så den blockerar den aktuella tråden tills ett meddelande blir tillgängligt eller den angivna tidsgränsen inträffar.

Peek(TimeSpan)

Returnerar utan att ta bort (granskar) det första meddelandet i kön som refereras till av den här MessageQueue. Metoden Peek() är synkron, så den blockerar den aktuella tråden tills ett meddelande blir tillgängligt eller den angivna tidsgränsen inträffar.

PeekByCorrelationId(String, TimeSpan)

Granskar meddelandet som matchar den angivna korrelationsidentifieraren och väntar tills antingen ett meddelande med den angivna korrelationsidentifieraren är tillgängligt i kön eller tidsgränsen upphör att gälla.

PeekByCorrelationId(String)

Granskar meddelandet som matchar den angivna korrelationsidentifieraren och genererar omedelbart ett undantag om det för närvarande inte finns något meddelande med den angivna korrelationsidentifieraren i kön.

PeekById(String, TimeSpan)

Granskar meddelandet vars meddelandeidentifierare matchar parametern id . Väntar tills meddelandet visas i kön eller en timeout inträffar.

PeekById(String)

Granskar meddelandet vars meddelandeidentifierare matchar parametern id .

PeekByLookupId(Int64)

Introducerades i MSMQ 3.0. Tittar på meddelandet som matchar den angivna uppslagsidentifieraren från en icke-transaktionell kö.

PeekByLookupId(MessageLookupAction, Int64)

Introducerades i MSMQ 3.0. Tittar på ett specifikt meddelande från kön. Meddelandet kan anges av en uppslagsidentifierare eller av dess position i köns fram- eller ände.

Purge()

Tar bort alla meddelanden som finns i kön.

Receive()

Tar emot det första meddelandet som är tillgängligt i kön som refereras av MessageQueue. Det här anropet är synkront och blockerar den aktuella körningstråden tills ett meddelande är tillgängligt.

Receive(MessageQueueTransaction)

Tar emot det första meddelandet som är tillgängligt i transaktionskö som refereras av MessageQueue. Det här anropet är synkront och blockerar den aktuella körningstråden tills ett meddelande är tillgängligt.

Receive(MessageQueueTransactionType)

Tar emot det första meddelandet som är tillgängligt i kön som refereras av MessageQueue. Det här anropet är synkront och blockerar den aktuella körningstråden tills ett meddelande är tillgängligt.

Receive(TimeSpan, Cursor, MessageQueueTransaction)

Tar emot det aktuella meddelandet i kön med en angiven markör. Om inget meddelande är tillgängligt väntar den här metoden tills antingen ett meddelande är tillgängligt eller tidsgränsen upphör att gälla.

Receive(TimeSpan, Cursor, MessageQueueTransactionType)

Tar emot det aktuella meddelandet i kön med en angiven markör. Om inget meddelande är tillgängligt väntar den här metoden tills antingen ett meddelande är tillgängligt eller tidsgränsen upphör att gälla.

Receive(TimeSpan, Cursor)

Tar emot det aktuella meddelandet i kön med en angiven markör. Om inget meddelande är tillgängligt väntar den här metoden tills antingen ett meddelande är tillgängligt eller tidsgränsen upphör att gälla.

Receive(TimeSpan, MessageQueueTransaction)

Tar emot det första meddelandet som är tillgängligt i transaktionskö som MessageQueue refereras av och väntar tills antingen ett meddelande är tillgängligt i kön eller tidsgränsen upphör att gälla.

Receive(TimeSpan, MessageQueueTransactionType)

Tar emot det första meddelandet som är tillgängligt i kön som refereras av MessageQueue. Det här anropet är synkront och väntar tills antingen ett meddelande är tillgängligt i kön eller tidsgränsen upphör att gälla.

Receive(TimeSpan)

Tar emot det första meddelandet som är tillgängligt i kön som refereras av MessageQueue och väntar tills antingen ett meddelande är tillgängligt i kön eller tidsgränsen upphör att gälla.

ReceiveByCorrelationId(String, MessageQueueTransaction)

Tar emot meddelandet som matchar den angivna korrelationsidentifieraren (från en transaktionskö) och genererar omedelbart ett undantag om inget meddelande med den angivna korrelationsidentifieraren för närvarande finns i kön.

ReceiveByCorrelationId(String, MessageQueueTransactionType)

Tar emot meddelandet som matchar den angivna korrelationsidentifieraren och genererar omedelbart ett undantag om det för närvarande inte finns något meddelande med den angivna korrelationsidentifieraren i kön.

ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransaction)

Tar emot meddelandet som matchar den angivna korrelationsidentifieraren (från en transaktionskö) och väntar tills antingen ett meddelande med den angivna korrelationsidentifieraren är tillgängligt i kön eller tidsgränsen upphör att gälla.

ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransactionType)

Tar emot meddelandet som matchar den angivna korrelationsidentifieraren och väntar tills antingen ett meddelande med den angivna korrelationsidentifieraren är tillgängligt i kön eller tidsgränsen upphör att gälla.

ReceiveByCorrelationId(String, TimeSpan)

Tar emot meddelandet som matchar den angivna korrelationsidentifieraren (från en icke-transaktionell kö) och väntar tills antingen ett meddelande med den angivna korrelationsidentifieraren är tillgängligt i kön eller tidsgränsen upphör att gälla.

ReceiveByCorrelationId(String)

Tar emot meddelandet som matchar den angivna korrelationsidentifieraren (från en icke-transaktionell kö) och genererar omedelbart ett undantag om det för närvarande inte finns något meddelande med den angivna korrelationsidentifieraren i kön.

ReceiveById(String, MessageQueueTransaction)

Tar emot meddelandet som matchar den angivna identifieraren (från en transaktionskö) och genererar omedelbart ett undantag om inget meddelande med den angivna identifieraren för närvarande finns i kön.

ReceiveById(String, MessageQueueTransactionType)

Tar emot meddelandet som matchar den angivna identifieraren och skapar omedelbart ett undantag om det för närvarande inte finns något meddelande med den angivna identifieraren i kön.

ReceiveById(String, TimeSpan, MessageQueueTransaction)

Tar emot meddelandet som matchar den angivna identifieraren (från en transaktionskö) och väntar tills antingen ett meddelande med den angivna identifieraren är tillgängligt i kön eller tidsgränsen upphör att gälla.

ReceiveById(String, TimeSpan, MessageQueueTransactionType)

Tar emot meddelandet som matchar den angivna identifieraren och väntar tills antingen ett meddelande med den angivna identifieraren är tillgängligt i kön eller tidsgränsen upphör att gälla.

ReceiveById(String, TimeSpan)

Tar emot meddelandet som matchar den angivna identifieraren (från en icke-transaktionell kö) och väntar tills antingen ett meddelande med den angivna identifieraren är tillgängligt i kön eller tidsgränsen upphör att gälla.

ReceiveById(String)

Tar emot meddelandet som matchar den angivna identifieraren från en icke-transaktionell kö och genererar omedelbart ett undantag om inget meddelande med den angivna identifieraren för närvarande finns i kön.

ReceiveByLookupId(Int64)

Introducerades i MSMQ 3.0. Tar emot meddelandet som matchar den angivna uppslagsidentifieraren från en icke-transaktionell kö.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Introducerades i MSMQ 3.0. Tar emot ett specifikt meddelande från en transaktionskö. Meddelandet kan anges av en uppslagsidentifierare eller av dess position i köns fram- eller ände.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Introducerades i MSMQ 3.0. Tar emot ett specifikt meddelande från kön med den angivna transaktionskontexten. Meddelandet kan anges av en uppslagsidentifierare eller av dess position i köns fram- eller ände.

Refresh()

Uppdaterar egenskaperna som presenteras av MessageQueue för att återspegla resursens aktuella tillstånd.

ResetPermissions()

Återställer behörighetslistan till operativsystemets standardvärden. Tar bort alla köbehörigheter som du har bifogat till standardlistan.

Send(Object, MessageQueueTransaction)

Skickar ett objekt till transaktionskö som refereras av den här MessageQueue.

Send(Object, MessageQueueTransactionType)

Skickar ett objekt till kön som refereras av den här MessageQueue.

Send(Object, String, MessageQueueTransaction)

Skickar ett objekt till transaktionskö som refereras av detta MessageQueue och anger en etikett för meddelandet.

Send(Object, String, MessageQueueTransactionType)

Skickar ett objekt till kön som refereras av detta MessageQueue och anger en etikett för meddelandet.

Send(Object, String)

Skickar ett objekt till den icke-transaktionella kö som refereras av detta MessageQueue och anger en etikett för meddelandet.

Send(Object)

Skickar ett objekt till en icke-transaktionell kö som refereras av den här MessageQueue.

SetPermissions(AccessControlList)

Tilldelar åtkomsträttigheter till kön baserat på innehållet i en åtkomstkontrollista.

SetPermissions(MessageQueueAccessControlEntry)

Tilldelar åtkomsträttigheter till kön baserat på innehållet i en åtkomstkontrollpost.

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

Ger en dator, grupp eller användare de angivna åtkomsträttigheterna med den angivna åtkomstkontrolltypen (tillåt, neka, återkalla eller ange).

SetPermissions(String, MessageQueueAccessRights)

Ger en dator, grupp eller användare de angivna åtkomsträttigheterna.

ToString()

Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas.

(Ärvd från Component)

Händelser

Name Description
Disposed

Inträffar när komponenten tas bort av ett anrop till Dispose() metoden.

(Ärvd från Component)
PeekCompleted

Inträffar när ett meddelande läss utan att tas bort från kön. Detta är ett resultat av den asynkrona åtgärden, BeginPeek().

ReceiveCompleted

Inträffar när ett meddelande har tagits bort från kön. Den här händelsen utlöses av den asynkrona åtgärden , BeginReceive().

Tilläggsmetoder

Name Description
AsParallel(IEnumerable)

Möjliggör parallellisering av en fråga.

AsQueryable(IEnumerable)

Konverterar en IEnumerable till en IQueryable.

Cast<TResult>(IEnumerable)

Omvandlar elementen i en IEnumerable till den angivna typen.

OfType<TResult>(IEnumerable)

Filtrerar elementen i en IEnumerable baserat på en angiven typ.

Gäller för

Trådsäkerhet

GetAllMessages() Endast metoden är trådsäker.

Se även