MessageQueue Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece acesso a uma fila em um servidor de Enfileiramento de Mensagens.
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
- Herança
- Atributos
- Implementações
Exemplos
O exemplo de código a seguir cria novos MessageQueue objetos usando vários tipos de sintaxe de nome de caminho. Em cada caso, ele envia uma mensagem para a fila cujo caminho é definido no construtor.
#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
O exemplo de código a seguir envia uma mensagem para uma fila e recebe uma mensagem de uma fila usando uma classe específica do aplicativo chamada 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
Comentários
A tecnologia de Enfileiramento de Mensagens permite que aplicativos em execução em horários diferentes se comuniquem entre redes heterogêneas e sistemas que podem estar temporariamente offline. Os aplicativos enviam, recebem ou espiam (ler sem remover) mensagens de filas. O Enfileiramento de Mensagens é um componente opcional do Windows 2000 e do Windows NT e deve ser instalado separadamente.
A MessageQueue classe é um wrapper em torno do Enfileiramento de Mensagens. Há várias versões do Enfileiramento de Mensagens e o uso da MessageQueue classe pode resultar em um comportamento ligeiramente diferente, dependendo do sistema operacional que você está usando.
A MessageQueue classe fornece uma referência a uma fila de Enfileiramento de Mensagens. Você pode especificar um caminho no MessageQueue construtor para se conectar a um recurso existente ou criar uma nova fila no servidor. Antes de poder chamar Send(Object), Peekou Receive, você deve associar a nova instância da classe a MessageQueue uma fila existente. Nesse ponto, você pode manipular as propriedades da fila, como Category e Label.
MessageQueue dá suporte a dois tipos de recuperação de mensagem: síncrono e assíncrono. Os métodos síncronos e Receivefazem Peek com que o thread do processo aguarde um intervalo de tempo especificado para que uma nova mensagem chegue à fila. Os métodos BeginPeek assíncronos e BeginReceive, permitem que as tarefas principais do aplicativo continuem em um thread separado até que uma mensagem chegue à fila. Esses métodos funcionam usando objetos de retorno de chamada e objetos de estado para comunicar informações entre threads.
Quando você cria uma nova instância da MessageQueue classe, não está criando uma nova fila de Enfileiramento de Mensagens. Em vez disso, você pode usar os Create(String)métodos e Purge , Delete(String)para gerenciar filas no servidor.
Ao contrário Purgee Delete(String)Create(String) são static membros, portanto, você pode chamá-los sem criar uma nova instância da MessageQueue classe.
Você pode definir a MessageQueue propriedade do Path objeto com um dos três nomes: o nome amigável, o FormatNameou o Label. O nome amigável, que é definido pelas propriedades e da fila, é MachineNameQueueName\para uma fila pública ePrivate$\QueueNameMachineName\para uma fila privada.MachineNameQueueName A FormatName propriedade permite acesso offline a filas de mensagens. Por fim, você pode usar a propriedade da Label fila para definir a fila.Path
Para obter uma lista de valores de propriedade iniciais de uma instância de MessageQueue, consulte o construtor MessageQueue.
Construtores
| Nome | Description |
|---|---|
| MessageQueue() |
Inicializa uma nova instância da classe MessageQueue. Depois que o construtor sem parâmetros inicializar a nova instância, você deverá definir a propriedade da Path instância antes de poder usar a instância. |
| MessageQueue(String, Boolean, Boolean, QueueAccessMode) |
Inicializa uma nova instância da classe MessageQueue. |
| MessageQueue(String, Boolean, Boolean) |
Inicializa uma nova instância da classe MessageQueue. |
| MessageQueue(String, Boolean) |
Inicializa uma nova instância da MessageQueue classe que faz referência à fila de Enfileiramento de Mensagens no caminho especificado e com a restrição de acesso de leitura especificada. |
| MessageQueue(String, QueueAccessMode) |
Inicializa uma nova instância da classe MessageQueue. |
| MessageQueue(String) |
Inicializa uma nova instância da MessageQueue classe que faz referência à fila de Enfileiramento de Mensagens no caminho especificado. |
Campos
| Nome | Description |
|---|---|
| InfiniteQueueSize |
Especifica que não existe nenhuma restrição de tamanho para uma fila. |
| InfiniteTimeout |
Especifica que não existe tempo limite para métodos que espiam ou recebem mensagens. |
Propriedades
| Nome | Description |
|---|---|
| AccessMode |
Obtém um valor que indica o modo de acesso para a fila. |
| Authenticate |
Obtém ou define um valor que indica se a fila aceita apenas mensagens autenticadas. |
| BasePriority |
Obtém ou define a prioridade base que o Enfileiramento de Mensagens usa para rotear as mensagens de uma fila pública pela rede. |
| CanRaiseEvents |
Obtém um valor que indica se o componente pode gerar um evento. (Herdado de Component) |
| CanRead |
Obtém um valor que indica se o MessageQueue valor pode ser lido. |
| CanWrite |
Obtém um valor que indica se o MessageQueue valor pode ser gravado. |
| Category |
Obtém ou define a categoria de fila. |
| Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
| CreateTime |
Obtém a hora e a data em que a fila foi criada no Enfileiramento de Mensagens. |
| DefaultPropertiesToSend |
Obtém ou define os valores da propriedade da mensagem a serem usados por padrão quando o aplicativo envia mensagens para a fila. |
| DenySharedReceive |
Obtém ou define um valor que indica se isso MessageQueue tem acesso exclusivo para receber mensagens da fila de Enfileiramento de Mensagens. |
| DesignMode |
Obtém um valor que indica se o Component está no modo de design no momento. (Herdado de Component) |
| EnableConnectionCache |
Obtém ou define um valor que indica se um cache de conexões será mantido pelo aplicativo. |
| EncryptionRequired |
Obtém ou define um valor que indica se a fila aceita apenas mensagens não privadas (não criptografadas). |
| Events |
Obtém a lista de manipuladores de eventos anexados a isso Component. (Herdado de Component) |
| FormatName |
Obtém o nome exclusivo da fila que o Enfileiramento de Mensagens gerou no momento da criação da fila. |
| Formatter |
Obtém ou define o formatador usado para serializar um objeto ou desserializar um objeto do corpo de uma mensagem lida ou gravada na fila. |
| Id |
Obtém o identificador exclusivo de Enfileiramento de Mensagens da fila. |
| Label |
Obtém ou define a descrição da fila. |
| LastModifyTime |
Obtém a última vez que as propriedades de uma fila foram modificadas. |
| MachineName |
Obtém ou define o nome do computador em que a fila de Enfileiramento de Mensagens está localizada. |
| MaximumJournalSize |
Obtém ou define o tamanho máximo da fila de diários. |
| MaximumQueueSize |
Obtém ou define o tamanho máximo da fila. |
| MessageReadPropertyFilter |
Obtém ou define o filtro de propriedade para receber ou espiar mensagens. |
| MulticastAddress |
Obtém ou define o endereço multicast associado à fila. |
| Path |
Obtém ou define o caminho da fila. Definir as Path causas para apontar MessageQueue para uma nova fila. |
| QueueName |
Obtém ou define o nome amigável que identifica a fila. |
| ReadHandle |
Obtém o identificador nativo usado para ler mensagens da fila de mensagens. |
| Site |
Obtém ou define o ISiteComponent. (Herdado de Component) |
| SynchronizingObject |
Obtém ou define o objeto que faz marshaling da chamada de manipulador de eventos resultante de um evento ou PeekCompleted eventoReceiveCompleted. |
| Transactional |
Obtém um valor que indica se a fila aceita apenas transações. |
| UseJournalQueue |
Obtém ou define um valor que indica se as mensagens recebidas são copiadas para a fila de diários. |
| WriteHandle |
Obtém o identificador nativo usado para enviar mensagens para a fila de mensagens. |
Métodos
| Nome | Description |
|---|---|
| BeginPeek() |
Inicia uma operação de espiada assíncrona que não tem tempo limite. A operação não será concluída até que uma mensagem fique disponível na fila. |
| BeginPeek(TimeSpan, Cursor, PeekAction, Object, AsyncCallback) |
Inicia uma operação de espiada assíncrona que tem um tempo limite especificado e que usa um cursor especificado, uma ação de espiada especificada e um objeto de estado especificado. O objeto de estado fornece informações associadas durante todo o tempo de vida da operação. Essa sobrecarga recebe a notificação, por meio de um retorno de chamada, da identidade do manipulador de eventos da operação. A operação não é concluída até que uma mensagem fique disponível na fila ou o tempo limite ocorra. |
| BeginPeek(TimeSpan, Object, AsyncCallback) |
Inicia uma operação de espiada assíncrona que tem um tempo limite especificado e um objeto de estado especificado, que fornece informações associadas durante todo o tempo de vida da operação. Essa sobrecarga recebe a notificação, por meio de um retorno de chamada, da identidade do manipulador de eventos da operação. A operação não é concluída até que uma mensagem fique disponível na fila ou o tempo limite ocorra. |
| BeginPeek(TimeSpan, Object) |
Inicia uma operação de espiada assíncrona que tem um tempo limite especificado e um objeto de estado especificado, que fornece informações associadas durante todo o tempo de vida da operação. A operação não é concluída até que uma mensagem fique disponível na fila ou o tempo limite ocorra. |
| BeginPeek(TimeSpan) |
Inicia uma operação de espiada assíncrona que tem um tempo limite especificado. A operação não é concluída até que uma mensagem fique disponível na fila ou o tempo limite ocorra. |
| BeginReceive() |
Inicia uma operação de recebimento assíncrona que não tem tempo limite. A operação não será concluída até que uma mensagem fique disponível na fila. |
| BeginReceive(TimeSpan, Cursor, Object, AsyncCallback) |
Inicia uma operação de recebimento assíncrona que tem um tempo limite especificado e usa um cursor especificado e um objeto de estado especificado. O objeto de estado fornece informações associadas durante todo o tempo de vida da operação. Essa sobrecarga recebe a notificação, por meio de um retorno de chamada, da identidade do manipulador de eventos da operação. A operação não é concluída até que uma mensagem fique disponível na fila ou o tempo limite ocorra. |
| BeginReceive(TimeSpan, Object, AsyncCallback) |
Inicia uma operação de recebimento assíncrona que tem um tempo limite especificado e um objeto de estado especificado, que fornece informações associadas durante todo o tempo de vida da operação. Essa sobrecarga recebe a notificação, por meio de um retorno de chamada, da identidade do manipulador de eventos da operação. A operação não é concluída até que uma mensagem fique disponível na fila ou o tempo limite ocorra. |
| BeginReceive(TimeSpan, Object) |
Inicia uma operação de recebimento assíncrona que tem um tempo limite especificado e um objeto de estado especificado, que fornece informações associadas durante todo o tempo de vida da operação. A operação não é concluída até que uma mensagem fique disponível na fila ou o tempo limite ocorra. |
| BeginReceive(TimeSpan) |
Inicia uma operação de recebimento assíncrona que tem um tempo limite especificado. A operação não é concluída até que uma mensagem fique disponível na fila ou o tempo limite ocorra. |
| ClearConnectionCache() |
Limpa o cache de conexão. |
| Close() |
Libera todos os recursos alocados pelo MessageQueue. |
| Create(String, Boolean) |
Cria uma fila de Enfileiramento de Mensagens transacional ou não transacional no caminho especificado. |
| Create(String) |
Cria uma fila de Enfileiramento de Mensagens não transacional no caminho especificado. |
| CreateCursor() |
Cria um novo Cursor para a fila de mensagens atual. |
| CreateObjRef(Type) |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Delete(String) |
Exclui uma fila em um servidor de Enfileiramento de Mensagens. |
| Dispose() |
Libera todos os recursos usados pelo Component. (Herdado de Component) |
| Dispose(Boolean) |
Descarta os recursos (além da memória) usados MessageQueuepelo . |
| EndPeek(IAsyncResult) |
Conclui a operação de espiada assíncrona especificada. |
| EndReceive(IAsyncResult) |
Conclui a operação de recebimento assíncrona especificada. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Exists(String) |
Determina se existe uma fila de Enfileiramento de Mensagens no caminho especificado. |
| GetAllMessages() |
Retorna todas as mensagens que estão na fila. |
| GetEnumerator() |
Obsoleto.
Enumera as mensagens em uma fila. GetEnumerator() está obsoleto. Em vez disso, GetMessageEnumerator2() deve ser usado. |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
| GetMachineId(String) |
Obtém o identificador do computador no qual a fila referenciada por isso MessageQueue está localizada. |
| GetMessageEnumerator() |
Obsoleto.
Cria um objeto enumerador para todas as mensagens na fila. GetMessageEnumerator() está obsoleto. Em vez disso, GetMessageEnumerator2() deve ser usado. |
| GetMessageEnumerator2() |
Cria um objeto enumerador para todas as mensagens na fila. |
| GetMessageQueueEnumerator() |
Fornece semântica de cursor somente para encaminhamento para enumerar em todas as filas públicas na rede. |
| GetMessageQueueEnumerator(MessageQueueCriteria) |
Fornece semântica de cursor somente encaminhamento para enumerar em todas as filas públicas na rede que atendem aos critérios especificados. |
| GetPrivateQueuesByMachine(String) |
Recupera todas as filas privadas no computador especificado. |
| GetPublicQueues() |
Recupera todas as filas públicas na rede. |
| GetPublicQueues(MessageQueueCriteria) |
Recupera todas as filas públicas na rede que atendem aos critérios especificados. |
| GetPublicQueuesByCategory(Guid) |
Recupera todas as filas públicas na rede que pertencem à categoria especificada. |
| GetPublicQueuesByLabel(String) |
Recupera todas as filas públicas na rede que carregam o rótulo especificado. |
| GetPublicQueuesByMachine(String) |
Recupera todas as filas públicas que residem no computador especificado. |
| GetSecurityContext() |
Recupera o contexto de segurança que o MSMQ associa ao usuário atual (identidade de thread) no momento dessa chamada. |
| GetService(Type) |
Retorna um objeto que representa um serviço fornecido pelo Component ou por sua Container. (Herdado de Component) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| Peek() |
Retorna sem remover (espia) a primeira mensagem na fila referenciada por isso MessageQueue. O Peek() método é síncrono, portanto, bloqueia o thread atual até que uma mensagem fique disponível. |
| Peek(TimeSpan, Cursor, PeekAction) |
Retorna sem remover (espia) a mensagem atual ou a próxima na fila, usando o cursor especificado. O Peek() método é síncrono, portanto, bloqueia o thread atual até que uma mensagem fique disponível ou o tempo limite especificado ocorra. |
| Peek(TimeSpan) |
Retorna sem remover (espia) a primeira mensagem na fila referenciada por isso MessageQueue. O Peek() método é síncrono, portanto, bloqueia o thread atual até que uma mensagem fique disponível ou o tempo limite especificado ocorra. |
| PeekByCorrelationId(String, TimeSpan) |
Espia a mensagem que corresponde ao identificador de correlação especificado e aguarda até que uma mensagem com o identificador de correlação especificado esteja disponível na fila ou o tempo limite expire. |
| PeekByCorrelationId(String) |
Espia a mensagem que corresponde ao identificador de correlação especificado e imediatamente gera uma exceção se nenhuma mensagem com o identificador de correlação especificado existir atualmente na fila. |
| PeekById(String, TimeSpan) |
Espia a mensagem cujo identificador de mensagem corresponde ao |
| PeekById(String) |
Espia a mensagem cujo identificador de mensagem corresponde ao |
| PeekByLookupId(Int64) |
Introduzido no MSMQ 3.0. Espia a mensagem que corresponde ao identificador de pesquisa especificado de uma fila não transacional. |
| PeekByLookupId(MessageLookupAction, Int64) |
Introduzido no MSMQ 3.0. Espia uma mensagem específica da fila. A mensagem pode ser especificada por um identificador de pesquisa ou por sua posição na frente ou no final da fila. |
| Purge() |
Exclui todas as mensagens contidas na fila. |
| Receive() |
Recebe a primeira mensagem disponível na fila referenciada pelo MessageQueue. Essa chamada é síncrona e bloqueia o thread atual de execução até que uma mensagem esteja disponível. |
| Receive(MessageQueueTransaction) |
Recebe a primeira mensagem disponível na fila transacional referenciada pelo MessageQueue. Essa chamada é síncrona e bloqueia o thread atual de execução até que uma mensagem esteja disponível. |
| Receive(MessageQueueTransactionType) |
Recebe a primeira mensagem disponível na fila referenciada pelo MessageQueue. Essa chamada é síncrona e bloqueia o thread atual de execução até que uma mensagem esteja disponível. |
| Receive(TimeSpan, Cursor, MessageQueueTransaction) |
Recebe a mensagem atual na fila usando um cursor especificado. Se nenhuma mensagem estiver disponível, esse método aguardará até que uma mensagem esteja disponível ou o tempo limite expire. |
| Receive(TimeSpan, Cursor, MessageQueueTransactionType) |
Recebe a mensagem atual na fila usando um cursor especificado. Se nenhuma mensagem estiver disponível, esse método aguardará até que uma mensagem esteja disponível ou o tempo limite expire. |
| Receive(TimeSpan, Cursor) |
Recebe a mensagem atual na fila usando um cursor especificado. Se nenhuma mensagem estiver disponível, esse método aguardará até que uma mensagem esteja disponível ou o tempo limite expire. |
| Receive(TimeSpan, MessageQueueTransaction) |
Recebe a primeira mensagem disponível na fila transacional referenciada pelo MessageQueue e aguarda até que uma mensagem esteja disponível na fila ou o tempo limite expire. |
| Receive(TimeSpan, MessageQueueTransactionType) |
Recebe a primeira mensagem disponível na fila referenciada pelo MessageQueue. Essa chamada é síncrona e aguarda até que uma mensagem esteja disponível na fila ou o tempo limite expire. |
| Receive(TimeSpan) |
Recebe a primeira mensagem disponível na fila referenciada pelo MessageQueue e aguarda até que uma mensagem esteja disponível na fila ou o tempo limite expire. |
| ReceiveByCorrelationId(String, MessageQueueTransaction) |
Recebe a mensagem que corresponde ao identificador de correlação especificado (de uma fila transacional) e imediatamente gera uma exceção se nenhuma mensagem com o identificador de correlação especificado existir atualmente na fila. |
| ReceiveByCorrelationId(String, MessageQueueTransactionType) |
Recebe a mensagem que corresponde ao identificador de correlação especificado e imediatamente gera uma exceção se nenhuma mensagem com o identificador de correlação especificado existir atualmente na fila. |
| ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransaction) |
Recebe a mensagem que corresponde ao identificador de correlação especificado (de uma fila transacional) e aguarda até que uma mensagem com o identificador de correlação especificado esteja disponível na fila ou o tempo limite expire. |
| ReceiveByCorrelationId(String, TimeSpan, MessageQueueTransactionType) |
Recebe a mensagem que corresponde ao identificador de correlação especificado e aguarda até que uma mensagem com o identificador de correlação especificado esteja disponível na fila ou o tempo limite expire. |
| ReceiveByCorrelationId(String, TimeSpan) |
Recebe a mensagem que corresponde ao identificador de correlação especificado (de uma fila não transacional) e aguarda até que uma mensagem com o identificador de correlação especificado esteja disponível na fila ou o tempo limite expire. |
| ReceiveByCorrelationId(String) |
Recebe a mensagem que corresponde ao identificador de correlação especificado (de uma fila não transacional) e imediatamente gera uma exceção se nenhuma mensagem com o identificador de correlação especificado existir atualmente na fila. |
| ReceiveById(String, MessageQueueTransaction) |
Recebe a mensagem que corresponde ao identificador especificado (de uma fila transacional) e imediatamente gera uma exceção se nenhuma mensagem com o identificador especificado existir atualmente na fila. |
| ReceiveById(String, MessageQueueTransactionType) |
Recebe a mensagem que corresponde ao identificador especificado e imediatamente gera uma exceção se nenhuma mensagem com o identificador especificado existir atualmente na fila. |
| ReceiveById(String, TimeSpan, MessageQueueTransaction) |
Recebe a mensagem que corresponde ao identificador especificado (de uma fila transacional) e aguarda até que uma mensagem com o identificador especificado esteja disponível na fila ou o tempo limite expire. |
| ReceiveById(String, TimeSpan, MessageQueueTransactionType) |
Recebe a mensagem que corresponde ao identificador especificado e aguarda até que uma mensagem com o identificador especificado esteja disponível na fila ou o tempo limite expire. |
| ReceiveById(String, TimeSpan) |
Recebe a mensagem que corresponde ao identificador especificado (de uma fila não transacional) e aguarda até que uma mensagem com o identificador especificado esteja disponível na fila ou o tempo limite expire. |
| ReceiveById(String) |
Recebe a mensagem que corresponde ao identificador especificado de uma fila não transacional e imediatamente gera uma exceção se nenhuma mensagem com o identificador especificado existir atualmente na fila. |
| ReceiveByLookupId(Int64) |
Introduzido no MSMQ 3.0. Recebe a mensagem que corresponde ao identificador de pesquisa especificado de uma fila não transacional. |
| ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction) |
Introduzido no MSMQ 3.0. Recebe uma mensagem específica de uma fila transacional. A mensagem pode ser especificada por um identificador de pesquisa ou por sua posição na frente ou no final da fila. |
| ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType) |
Introduzido no MSMQ 3.0. Recebe uma mensagem específica da fila usando o contexto de transação especificado. A mensagem pode ser especificada por um identificador de pesquisa ou por sua posição na frente ou no final da fila. |
| Refresh() |
Atualiza as propriedades apresentadas pelo MessageQueue para refletir o estado atual do recurso. |
| ResetPermissions() |
Redefine a lista de permissões para os valores padrão do sistema operacional. Remove as permissões de fila que você anexou à lista padrão. |
| Send(Object, MessageQueueTransaction) |
Envia um objeto para a fila transacional referenciada por este MessageQueue. |
| Send(Object, MessageQueueTransactionType) |
Envia um objeto para a fila referenciada por isso MessageQueue. |
| Send(Object, String, MessageQueueTransaction) |
Envia um objeto para a fila transacional referenciada por isso MessageQueue e especifica um rótulo para a mensagem. |
| Send(Object, String, MessageQueueTransactionType) |
Envia um objeto para a fila referenciada por isso MessageQueue e especifica um rótulo para a mensagem. |
| Send(Object, String) |
Envia um objeto para a fila não transacional referenciada por isso MessageQueue e especifica um rótulo para a mensagem. |
| Send(Object) |
Envia um objeto para fila não transacional referenciada por isso MessageQueue. |
| SetPermissions(AccessControlList) |
Atribui direitos de acesso à fila com base no conteúdo de uma lista de controle de acesso. |
| SetPermissions(MessageQueueAccessControlEntry) |
Atribui direitos de acesso à fila com base no conteúdo de uma entrada de controle de acesso. |
| SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType) |
Fornece a um computador, grupo ou usuário os direitos de acesso especificados, com o tipo de controle de acesso especificado (permitir, negar, revogar ou definir). |
| SetPermissions(String, MessageQueueAccessRights) |
Fornece a um computador, grupo ou usuário os direitos de acesso especificados. |
| ToString() |
Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído. (Herdado de Component) |
Eventos
| Nome | Description |
|---|---|
| Disposed |
Ocorre quando o componente é descartado por uma chamada para o Dispose() método. (Herdado de Component) |
| PeekCompleted |
Ocorre quando uma mensagem é lida sem ser removida da fila. Isso é resultado da operação assíncrona. BeginPeek() |
| ReceiveCompleted |
Ocorre quando uma mensagem foi removida da fila. Esse evento é gerado pela operação assíncrona. BeginReceive() |
Métodos de Extensão
| Nome | Description |
|---|---|
| AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable. |
| Cast<TResult>(IEnumerable) |
Converte os elementos de um IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base em um tipo especificado. |
Aplica-se a
Acesso thread-safe
Somente o GetAllMessages() método é thread-safe.