MessageQueue Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia dostęp do kolejki na serwerze kolejkowania komunikatów.
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
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
Poniższy przykład kodu tworzy nowe MessageQueue obiekty przy użyciu różnych typów składni nazw ścieżki. W każdym przypadku wysyła komunikat do kolejki, której ścieżka jest zdefiniowana w konstruktorze.
#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
Poniższy przykład kodu wysyła komunikat do kolejki i odbiera komunikat z kolejki przy użyciu klasy specyficznej dla aplikacji o nazwie 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
Uwagi
Technologia kolejkowania komunikatów umożliwia aplikacjom działającym w różnych momentach komunikację między heterogenicznymi sieciami i systemami, które mogą być tymczasowo w trybie offline. Aplikacje wysyłają, odbierają lub podglądu (odczytywane bez usuwania) komunikaty z kolejek. Kolejkowanie komunikatów jest opcjonalnym składnikiem systemu Windows 2000 i Windows NT i musi być zainstalowany oddzielnie.
Klasa MessageQueue jest otoką kolejkowania komunikatów. Istnieje wiele wersji kolejkowania komunikatów i użycie MessageQueue klasy może spowodować nieco inne zachowanie w zależności od używanego systemu operacyjnego.
Klasa MessageQueue zawiera odwołanie do kolejki kolejki kolejkowania komunikatów. Możesz określić ścieżkę w konstruktorze MessageQueue w celu nawiązania połączenia z istniejącym zasobem lub utworzyć nową kolejkę na serwerze. Aby można było wywołać metodę Send(Object), Peeklub Receive, należy skojarzyć nowe wystąpienie MessageQueue klasy z istniejącą kolejką. W tym momencie można manipulować właściwościami kolejki, takimi jak Category i Label.
MessageQueue obsługuje dwa typy pobierania komunikatów: synchroniczne i asynchroniczne. Metody synchroniczne i Receive, powodują, Peek że wątek procesu czeka określony interwał czasu na nadejście nowego komunikatu do kolejki. Metody BeginPeek asynchroniczne i BeginReceive, umożliwiają kontynuowanie głównych zadań aplikacji w osobnym wątku do momentu nadejścia komunikatu w kolejce. Te metody działają przy użyciu obiektów wywołania zwrotnego i obiektów stanu w celu komunikowania informacji między wątkami.
Podczas tworzenia nowego wystąpienia MessageQueue klasy nie tworzysz nowej kolejki kolejki kolejkowania komunikatów. Zamiast tego można użyć Create(String)metod , Delete(String)i Purge do zarządzania kolejkami na serwerze.
W przeciwieństwie do Purgeelementu i Create(String)Delete(String) są static
elementami członkowskimi, dzięki czemu można wywoływać je bez tworzenia nowego wystąpienia MessageQueue klasy.
Właściwość obiektu można ustawić MessageQueue z jedną z trzech nazw: przyjazną nazwą, FormatNamewartością lub Label.Path Przyjazna nazwa, która jest definiowana przez właściwości i kolejkiMachineName, jest\MachineNameQueueName dla kolejki publicznej i MachineNameQueueName\\Private$
dla kolejki prywatnej.QueueName Właściwość FormatName umożliwia dostęp w trybie offline do kolejek komunikatów. Na koniec możesz użyć właściwości kolejki Label , aby ustawić kolejkę Path.
Aby uzyskać listę początkowych wartości właściwości dla wystąpienia programu MessageQueue, zobacz MessageQueue konstruktor.
Konstruktory
MessageQueue() |
Inicjuje nowe wystąpienie klasy MessageQueue. Gdy konstruktor bez parametrów inicjuje nowe wystąpienie, należy ustawić właściwość wystąpienia Path przed użyciem wystąpienia. |
MessageQueue(String) |
Inicjuje MessageQueue nowe wystąpienie klasy odwołującej się do kolejki kolejki kolejkowania komunikatów w określonej ścieżce. |
MessageQueue(String, Boolean) |
Inicjuje MessageQueue nowe wystąpienie klasy odwołującej się do kolejki kolejki kolejkowania komunikatów w określonej ścieżce i z określonym ograniczeniem dostępu do odczytu. |
MessageQueue(String, Boolean, Boolean) |
Inicjuje nowe wystąpienie klasy MessageQueue. |
MessageQueue(String, Boolean, Boolean, QueueAccessMode) |
Inicjuje nowe wystąpienie klasy MessageQueue. |
MessageQueue(String, QueueAccessMode) |
Inicjuje nowe wystąpienie klasy MessageQueue. |
Pola
InfiniteQueueSize |
Określa, że dla kolejki nie istnieje żadne ograniczenie rozmiaru. |
InfiniteTimeout |
Określa, że nie istnieje limit czasu dla metod, które podglądają lub odbierają komunikaty. |
Właściwości
AccessMode |
Pobiera wartość wskazującą tryb dostępu dla kolejki. |
Authenticate |
Pobiera lub ustawia wartość wskazującą, czy kolejka akceptuje tylko uwierzytelnione komunikaty. |
BasePriority |
Pobiera lub ustawia podstawowy priorytet kolejkowania komunikatów używany do kierowania komunikatów kolejki publicznej przez sieć. |
CanRaiseEvents |
Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie. (Odziedziczone po Component) |
CanRead |
Pobiera wartość wskazującą, czy MessageQueue można go odczytać. |
CanWrite |
Pobiera wartość wskazującą, czy MessageQueue można je zapisać. |
Category |
Pobiera lub ustawia kategorię kolejki. |
Container |
Pobiera element IContainer zawierający element Component. (Odziedziczone po Component) |
CreateTime |
Pobiera godzinę i datę utworzenia kolejki w kolejce komunikatów. |
DefaultPropertiesToSend |
Pobiera lub ustawia wartości właściwości komunikatu, które mają być używane domyślnie, gdy aplikacja wysyła komunikaty do kolejki. |
DenySharedReceive |
Pobiera lub ustawia wartość wskazującą, czy ma on MessageQueue wyłączny dostęp do odbierania komunikatów z kolejki kolejkowania komunikatów. |
DesignMode |
Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania. (Odziedziczone po Component) |
EnableConnectionCache |
Pobiera lub ustawia wartość wskazującą, czy pamięć podręczna połączeń będzie utrzymywana przez aplikację. |
EncryptionRequired |
Pobiera lub ustawia wartość wskazującą, czy kolejka akceptuje tylko komunikaty inne niż prywatne (nieszyfrowane). |
Events |
Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu . (Odziedziczone po Component) |
FormatName |
Pobiera unikatową nazwę kolejki wygenerowaną podczas tworzenia kolejki komunikatów. |
Formatter |
Pobiera lub ustawia formater używany do serializacji obiektu do lub deserializacji obiektu z treści wiadomości odczytanej lub zapisanej w kolejce. |
Id |
Pobiera unikatowy identyfikator kolejki komunikatów. |
Label |
Pobiera lub ustawia opis kolejki. |
LastModifyTime |
Pobiera ostatni raz, gdy właściwości kolejki zostały zmodyfikowane. |
MachineName |
Pobiera lub ustawia nazwę komputera, na którym znajduje się kolejka kolejki komunikatów. |
MaximumJournalSize |
Pobiera lub ustawia maksymalny rozmiar kolejki dziennika. |
MaximumQueueSize |
Pobiera lub ustawia maksymalny rozmiar kolejki. |
MessageReadPropertyFilter |
Pobiera lub ustawia filtr właściwości na potrzeby odbierania lub przeglądania komunikatów. |
MulticastAddress |
Wprowadzono w programie MSMQ 3.0. Pobiera lub ustawia adres multiemisji skojarzony z kolejką. |
Path |
Pobiera lub ustawia ścieżkę kolejki. Path Ustawienie powoduje MessageQueue wskazanie nowej kolejki. |
QueueName |
Pobiera lub ustawia przyjazną nazwę, która identyfikuje kolejkę. |
ReadHandle |
Pobiera natywny uchwyt używany do odczytywania komunikatów z kolejki komunikatów. |
Site |
Pobiera lub ustawia ISite element .Component (Odziedziczone po Component) |
SynchronizingObject |
Pobiera lub ustawia obiekt, który marshaluje wywołanie programu obsługi zdarzeń wynikające z zdarzenia ReceiveCompleted lub PeekCompleted . |
Transactional |
Pobiera wartość wskazującą, czy kolejka akceptuje tylko transakcje. |
UseJournalQueue |
Pobiera lub ustawia wartość wskazującą, czy odebrane komunikaty są kopiowane do kolejki dziennika. |
WriteHandle |
Pobiera natywny uchwyt używany do wysyłania komunikatów do kolejki komunikatów. |
Metody
BeginPeek() |
Inicjuje asynchroniczną operację podglądu, która nie ma limitu czasu. Operacja nie zostanie ukończona, dopóki komunikat nie stanie się dostępny w kolejce. |
BeginPeek(TimeSpan) |
Inicjuje asynchroniczną operację podglądu, która ma określony limit czasu. Operacja nie zostanie ukończona do momentu udostępnienia komunikatu w kolejce lub przekroczenia limitu czasu. |
BeginPeek(TimeSpan, Cursor, PeekAction, Object, AsyncCallback) |
Inicjuje asynchroniczną operację wglądu, która ma określony limit czasu i używa określonego kursora, określonej akcji podglądu i określonego obiektu stanu. Obiekt stanu udostępnia skojarzone informacje przez cały okres istnienia operacji. To przeciążenie odbiera powiadomienie za pośrednictwem wywołania zwrotnego tożsamości programu obsługi zdarzeń dla operacji. Operacja nie zostanie ukończona do momentu udostępnienia komunikatu w kolejce lub przekroczenia limitu czasu. |
BeginPeek(TimeSpan, Object) |
Inicjuje asynchroniczną operację wglądu, która ma określony limit czasu i określony obiekt stanu, który dostarcza skojarzone informacje w całym okresie istnienia operacji. Operacja nie zostanie ukończona do momentu udostępnienia komunikatu w kolejce lub przekroczenia limitu czasu. |
BeginPeek(TimeSpan, Object, AsyncCallback) |
Inicjuje asynchroniczną operację wglądu, która ma określony limit czasu i określony obiekt stanu, który dostarcza skojarzone informacje w całym okresie istnienia operacji. To przeciążenie odbiera powiadomienie za pośrednictwem wywołania zwrotnego tożsamości programu obsługi zdarzeń dla operacji. Operacja nie zostanie ukończona do momentu udostępnienia komunikatu w kolejce lub przekroczenia limitu czasu. |
BeginReceive() |
Inicjuje asynchroniczną operację odbierania, która nie ma limitu czasu. Operacja nie zostanie ukończona, dopóki komunikat nie stanie się dostępny w kolejce. |
BeginReceive(TimeSpan) |
Inicjuje asynchroniczną operację odbierania, która ma określony limit czasu. Operacja nie zostanie ukończona do momentu udostępnienia komunikatu w kolejce lub przekroczenia limitu czasu. |
BeginReceive(TimeSpan, Cursor, Object, AsyncCallback) |
Inicjuje asynchroniczną operację odbierania, która ma określony limit czasu i używa określonego kursora i określonego obiektu stanu. Obiekt stanu udostępnia skojarzone informacje przez cały okres istnienia operacji. To przeciążenie odbiera powiadomienie za pośrednictwem wywołania zwrotnego tożsamości programu obsługi zdarzeń dla operacji. Operacja nie zostanie ukończona do momentu udostępnienia komunikatu w kolejce lub przekroczenia limitu czasu. |
BeginReceive(TimeSpan, Object) |
Inicjuje asynchroniczną operację odbierania, która ma określony limit czasu i określony obiekt stanu, który dostarcza skojarzone informacje w całym okresie istnienia operacji. Operacja nie zostanie ukończona do momentu udostępnienia komunikatu w kolejce lub przekroczenia limitu czasu. |
BeginReceive(TimeSpan, Object, AsyncCallback) |
Inicjuje asynchroniczną operację odbierania, która ma określony limit czasu i określony obiekt stanu, który dostarcza skojarzone informacje w całym okresie istnienia operacji. To przeciążenie odbiera powiadomienie za pośrednictwem wywołania zwrotnego tożsamości programu obsługi zdarzeń dla operacji. Operacja nie zostanie ukończona do momentu udostępnienia komunikatu w kolejce lub przekroczenia limitu czasu. |
ClearConnectionCache() |
Czyści pamięć podręczną połączeń. |
Close() |
Zwalnia wszystkie zasoby przydzielone przez usługę MessageQueue. |
Create(String) |
Tworzy kolejkę kolejki kolejkowania komunikatów innych niż transakcyjne w określonej ścieżce. |
Create(String, Boolean) |
Tworzy transakcyjną lub nie transakcyjną kolejkę kolejkowania komunikatów w określonej ścieżce. |
CreateCursor() |
Tworzy nową Cursor dla bieżącej kolejki komunikatów. |
CreateObjRef(Type) |
Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym. (Odziedziczone po MarshalByRefObject) |
Delete(String) |
Usuwa kolejkę na serwerze kolejkowania komunikatów. |
Dispose() |
Zwalnia wszelkie zasoby używane przez element Component. (Odziedziczone po Component) |
Dispose(Boolean) |
Usuwa zasoby (inne niż pamięć) używane przez MessageQueueprogram . |
EndPeek(IAsyncResult) |
Kończy określoną operację asynchroniczną. |
EndReceive(IAsyncResult) |
Kończy określoną asynchroniczną operację odbierania. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Exists(String) |
Określa, czy kolejka kolejkowania komunikatów istnieje w określonej ścieżce. |
GetAllMessages() |
Zwraca wszystkie komunikaty, które znajdują się w kolejce. |
GetEnumerator() |
Przestarzałe.
Wylicza komunikaty w kolejce. GetEnumerator() jest przestarzały. GetMessageEnumerator2() Zamiast tego należy użyć polecenia . |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetLifetimeService() |
Przestarzałe.
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
GetMachineId(String) |
Pobiera identyfikator komputera, na którym znajduje się kolejka, do której odwołuje się ta MessageQueue kolejka. |
GetMessageEnumerator() |
Przestarzałe.
Tworzy obiekt modułu wyliczającego dla wszystkich komunikatów w kolejce. GetMessageEnumerator() jest przestarzały. GetMessageEnumerator2() Zamiast tego należy użyć polecenia . |
GetMessageEnumerator2() |
Tworzy obiekt modułu wyliczającego dla wszystkich komunikatów w kolejce. |
GetMessageQueueEnumerator() |
Udostępnia semantyka kursora tylko do przodu, aby wyliczać wszystkie kolejki publiczne w sieci. |
GetMessageQueueEnumerator(MessageQueueCriteria) |
Udostępnia semantyka kursora tylko do przodu, aby wyliczać wszystkie kolejki publiczne w sieci, które spełniają określone kryteria. |
GetPrivateQueuesByMachine(String) |
Pobiera wszystkie kolejki prywatne na określonym komputerze. |
GetPublicQueues() |
Pobiera wszystkie kolejki publiczne w sieci. |
GetPublicQueues(MessageQueueCriteria) |
Pobiera wszystkie kolejki publiczne w sieci, które spełniają określone kryteria. |
GetPublicQueuesByCategory(Guid) |
Pobiera wszystkie kolejki publiczne w sieci, które należą do określonej kategorii. |
GetPublicQueuesByLabel(String) |
Pobiera wszystkie kolejki publiczne w sieci, które noszą określoną etykietę. |
GetPublicQueuesByMachine(String) |
Pobiera wszystkie publiczne kolejki znajdujące się na określonym komputerze. |
GetSecurityContext() |
Pobiera kontekst zabezpieczeń, który MSMQ kojarzy z bieżącym użytkownikiem (tożsamością wątku) w momencie tego wywołania. |
GetService(Type) |
Zwraca obiekt reprezentujący usługę dostarczaną przez Component obiekt lub przez obiekt Container. (Odziedziczone po Component) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
InitializeLifetimeService() |
Przestarzałe.
Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu. (Odziedziczone po MarshalByRefObject) |
Peek() |
Zwraca wartość bez usuwania (zajrzyj) do pierwszego komunikatu w kolejce, do której odwołuje się ten MessageQueueelement . Metoda Peek() jest synchroniczna, dlatego blokuje bieżący wątek do momentu udostępnienia komunikatu. |
Peek(TimeSpan) |
Zwraca wartość bez usuwania (zajrzyj) do pierwszego komunikatu w kolejce, do której odwołuje się ten MessageQueueelement . Metoda Peek() jest synchroniczna, dlatego blokuje bieżący wątek do momentu udostępnienia komunikatu lub przekroczenia określonego limitu czasu. |
Peek(TimeSpan, Cursor, PeekAction) |
Zwraca wartość bez usuwania (zajrzyj) do bieżącego lub następnego komunikatu w kolejce przy użyciu określonego kursora. Metoda Peek() jest synchroniczna, dlatego blokuje bieżący wątek do momentu udostępnienia komunikatu lub przekroczenia określonego limitu czasu. |
PeekByCorrelationId(String) |
Wyświetla komunikat zgodny z danym identyfikatorem korelacji i natychmiast zgłasza wyjątek, jeśli w kolejce nie istnieje żaden komunikat o określonym identyfikatorze korelacji. |
PeekByCorrelationId(String, TimeSpan) |
Podgląd komunikatu zgodnego z podanym identyfikatorem korelacji i czeka na udostępnienie komunikatu o określonym identyfikatorze korelacji w kolejce lub upłynięciu limitu czasu. |
PeekById(String) |
Wyświetla komunikat, którego identyfikator komunikatu jest zgodny z parametrem |
PeekById(String, TimeSpan) |
Wyświetla komunikat, którego identyfikator komunikatu jest zgodny z parametrem |
PeekByLookupId(Int64) |
Wprowadzono w programie MSMQ 3.0. Przyjrzyj się komunikatowi, który jest zgodny z danym identyfikatorem odnośnika z kolejki innej niż transakcyjna. |
PeekByLookupId(MessageLookupAction, Int64) |
Wprowadzono w programie MSMQ 3.0. Przyjrzyj się określonej wiadomości z kolejki. Komunikat może być określony przez identyfikator odnośnika lub jego położenie na początku lub na końcu kolejki. |
Purge() |
Usuwa wszystkie komunikaty zawarte w kolejce. |
Receive() |
Odbiera pierwszy komunikat dostępny w kolejce, do której MessageQueueodwołuje się element . To wywołanie jest synchroniczne i blokuje bieżący wątek wykonywania do momentu udostępnienia komunikatu. |
Receive(MessageQueueTransaction) |
Odbiera pierwszy komunikat dostępny w kolejce transakcyjnej, do której MessageQueueodwołuje się element . To wywołanie jest synchroniczne i blokuje bieżący wątek wykonywania do momentu udostępnienia komunikatu. |
Receive(MessageQueueTransactionType) |
Odbiera pierwszy komunikat dostępny w kolejce, do której MessageQueueodwołuje się element . To wywołanie jest synchroniczne i blokuje bieżący wątek wykonywania do momentu udostępnienia komunikatu. |
Receive(TimeSpan) |
Odbiera pierwszy komunikat dostępny w kolejce, do której MessageQueue odwołuje się element i czeka, aż komunikat będzie dostępny w kolejce lub upłynął limit czasu. |
Receive(TimeSpan, Cursor) |
Odbiera bieżący komunikat w kolejce przy użyciu określonego kursora. Jeśli komunikat nie jest dostępny, ta metoda czeka na udostępnienie komunikatu lub upłynął limit czasu. |
Receive(TimeSpan, Cursor, MessageQueueTransaction) |
Odbiera bieżący komunikat w kolejce przy użyciu określonego kursora. Jeśli komunikat nie jest dostępny, ta metoda czeka na udostępnienie komunikatu lub upłynął limit czasu. |
Receive(TimeSpan, Cursor, MessageQueueTransactionType) |
Odbiera bieżący komunikat w kolejce przy użyciu określonego kursora. Jeśli komunikat nie jest dostępny, ta metoda czeka na udostępnienie komunikatu lub upłynął limit czasu. |
Receive(TimeSpan, MessageQueueTransaction) |
Odbiera pierwszy komunikat dostępny w kolejce transakcyjnej, do której MessageQueue odwołuje się element i czeka, aż komunikat będzie dostępny w kolejce lub upłynął limit czasu. |
Receive(TimeSpan, MessageQueueTransactionType) |
Odbiera pierwszy komunikat dostępny w kolejce, do której MessageQueueodwołuje się element . To wywołanie jest synchroniczne i czeka na udostępnienie komunikatu w kolejce lub przekroczenie limitu czasu. |
ReceiveByCorrelationId(String) |
Odbiera komunikat zgodny z podanym identyfikatorem korelacji (z kolejki innej niż transakcyjna) i natychmiast zgłasza wyjątek, jeśli w kolejce nie istnieje żaden komunikat o określonym identyfikatorze korelacji. |
ReceiveByCorrelationId(String, MessageQueueTransaction) |
Odbiera komunikat zgodny z danym identyfikatorem korelacji (z kolejki transakcyjnej) i natychmiast zgłasza wyjątek, jeśli w kolejce nie istnieje żaden komunikat o określonym identyfikatorze korelacji. |
ReceiveByCorrelationId(String, MessageQueueTransactionType) |
Odbiera komunikat zgodny z danym identyfikatorem korelacji i natychmiast zgłasza wyjątek, jeśli w kolejce nie istnieje żaden komunikat o określonym identyfikatorze korelacji. |
ReceiveByCorrelationId(String, TimeSpan) |
Odbiera komunikat zgodny z podanym identyfikatorem korelacji (z kolejki innej niż transakcyjna) i czeka, aż komunikat o określonym identyfikatorze korelacji będzie dostępny w kolejce lub upłynął limit czasu. |
ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransaction) |
Odbiera komunikat zgodny z danym identyfikatorem korelacji (z kolejki transakcyjnej) i czeka, aż komunikat o określonym identyfikatorze korelacji będzie dostępny w kolejce lub upłynął limit czasu. |
ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransactionType) |
Odbiera komunikat zgodny z danym identyfikatorem korelacji i czeka, aż komunikat o określonym identyfikatorze korelacji będzie dostępny w kolejce lub upłynął limit czasu. |
ReceiveById(String) |
Odbiera komunikat zgodny z podanym identyfikatorem z kolejki innej niż transakcyjna i natychmiast zgłasza wyjątek, jeśli w kolejce nie istnieje żaden komunikat o określonym identyfikatorze. |
ReceiveById(String, MessageQueueTransaction) |
Odbiera komunikat zgodny z danym identyfikatorem (z kolejki transakcyjnej) i natychmiast zgłasza wyjątek, jeśli w kolejce nie istnieje żaden komunikat o określonym identyfikatorze. |
ReceiveById(String, MessageQueueTransactionType) |
Odbiera komunikat zgodny z danym identyfikatorem i natychmiast zgłasza wyjątek, jeśli w kolejce nie istnieje żaden komunikat o określonym identyfikatorze. |
ReceiveById(String, TimeSpan) |
Odbiera komunikat zgodny z danym identyfikatorem (z kolejki nie transakcyjnej) i czeka, aż komunikat o określonym identyfikatorze będzie dostępny w kolejce lub upłynął limit czasu. |
ReceiveById(String, TimeSpan, MessageQueueTransaction) |
Odbiera komunikat zgodny z danym identyfikatorem (z kolejki transakcyjnej) i czeka, aż komunikat o określonym identyfikatorze będzie dostępny w kolejce lub upłynął limit czasu. |
ReceiveById(String, TimeSpan, MessageQueueTransactionType) |
Odbiera komunikat zgodny z danym identyfikatorem i czeka aż komunikat o określonym identyfikatorze będzie dostępny w kolejce lub upłynął limit czasu. |
ReceiveByLookupId(Int64) |
Wprowadzono w programie MSMQ 3.0. Odbiera komunikat zgodny z podanym identyfikatorem odnośnika z kolejki innej niż transakcyjna. |
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction) |
Wprowadzono w programie MSMQ 3.0. Odbiera określony komunikat z kolejki transakcyjnej. Komunikat może być określony przez identyfikator odnośnika lub jego położenie na początku lub na końcu kolejki. |
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType) |
Wprowadzono w programie MSMQ 3.0. Odbiera określony komunikat z kolejki przy użyciu określonego kontekstu transakcji. Komunikat może być określony przez identyfikator odnośnika lub jego położenie na początku lub na końcu kolejki. |
Refresh() |
Odświeża właściwości przedstawione przez element , MessageQueue aby odzwierciedlić bieżący stan zasobu. |
ResetPermissions() |
Resetuje listę uprawnień do domyślnych wartości systemu operacyjnego. Usuwa wszystkie uprawnienia kolejki, które zostały dołączone do listy domyślnej. |
Send(Object) |
Wysyła obiekt do kolejki innej niż transakcyjna, do których odwołuje się ten MessageQueueobiekt . |
Send(Object, MessageQueueTransaction) |
Wysyła obiekt do kolejki transakcyjnej, do których odwołuje się ten MessageQueueobiekt . |
Send(Object, MessageQueueTransactionType) |
Wysyła obiekt do kolejki, do których odwołuje się ten MessageQueueobiekt . |
Send(Object, String) |
Wysyła obiekt do kolejki innej niż transakcyjna, do których odwołuje się ta MessageQueue funkcja, i określa etykietę komunikatu. |
Send(Object, String, MessageQueueTransaction) |
Wysyła obiekt do kolejki transakcyjnej, do których odwołuje się ta MessageQueue funkcja, i określa etykietę komunikatu. |
Send(Object, String, MessageQueueTransactionType) |
Wysyła obiekt do kolejki, do których odwołuje się ta MessageQueue funkcja, i określa etykietę komunikatu. |
SetPermissions(AccessControlList) |
Przypisuje prawa dostępu do kolejki na podstawie zawartości listy kontroli dostępu. |
SetPermissions(MessageQueueAccessControlEntry) |
Przypisuje prawa dostępu do kolejki na podstawie zawartości wpisu kontroli dostępu. |
SetPermissions(String, MessageQueueAccessRights) |
Daje komputer, grupę lub użytkownika określone prawa dostępu. |
SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType) |
Nadaje komputerowi, grupie lub użytkownikowi określone prawa dostępu z określonym typem kontroli dostępu (zezwalaj, odmawiaj, odwoływanie lub ustawianie). |
ToString() |
Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana. (Odziedziczone po Component) |
Zdarzenia
Disposed |
Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody . (Odziedziczone po Component) |
PeekCompleted |
Występuje, gdy komunikat jest odczytywany bez usuwania z kolejki. Jest to wynik operacji asynchronicznej, BeginPeek(). |
ReceiveCompleted |
Występuje, gdy komunikat został usunięty z kolejki. To zdarzenie jest wywoływane przez operację asynchroniczną. BeginReceive() |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy elementu IEnumerable do określonego typu. |
OfType<TResult>(IEnumerable) |
Filtruje elementy elementu IEnumerable na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |
Dotyczy
Bezpieczeństwo wątkowe
GetAllMessages() Tylko metoda jest bezpieczna wątkiem.