MessageQueueEnumerator Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece um cursor apenas para a frente para enumerar através de mensagens numa fila de mensagens.
public ref class MessageQueueEnumerator : MarshalByRefObject, IDisposable, System::Collections::IEnumerator
public class MessageQueueEnumerator : MarshalByRefObject, IDisposable, System.Collections.IEnumerator
type MessageQueueEnumerator = class
inherit MarshalByRefObject
interface IEnumerator
interface IDisposable
Public Class MessageQueueEnumerator
Inherits MarshalByRefObject
Implements IDisposable, IEnumerator
- Herança
- Implementações
Exemplos
O exemplo de código seguinte itera todas as filas de mensagens na rede e examina o caminho para cada fila. Por fim, mostra o número de filas públicas na rede.
#using <System.dll>
#using <System.Messaging.dll>
using namespace System;
using namespace System::Messaging;
//**************************************************
// Iterates through message queues and examines the
// path for each queue. Also displays the number of
// public queues on the network.
//**************************************************
void ListPublicQueues()
{
// Holds the count of private queues.
int numberQueues = 0;
// Get a cursor into the queues on the network.
MessageQueueEnumerator^ myQueueEnumerator = MessageQueue::GetMessageQueueEnumerator();
// Move to the next queue and read its path.
while ( myQueueEnumerator->MoveNext() )
{
// Increase the count if priority is Lowest.
Console::WriteLine( myQueueEnumerator->Current->Path );
numberQueues++;
}
// Display final count.
Console::WriteLine( "Number of public queues: {0}", numberQueues );
return;
}
//**************************************************
// Provides an entry point into the application.
//
// This example uses a cursor to step through the
// message queues and list the public queues on the
// network.
//**************************************************
int main()
{
// Output the count of Lowest priority messages.
ListPublicQueues();
}
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 uses a cursor to step through the
// message queues and list the public queues on the
// network.
//**************************************************
public static void Main()
{
// Create a new instance of the class.
MyNewQueue myNewQueue = new MyNewQueue();
// Output the count of Lowest priority messages.
myNewQueue.ListPublicQueues();
return;
}
//**************************************************
// Iterates through message queues and examines the
// path for each queue. Also displays the number of
// public queues on the network.
//**************************************************
public void ListPublicQueues()
{
// Holds the count of private queues.
uint numberQueues = 0;
// Get a cursor into the queues on the network.
MessageQueueEnumerator myQueueEnumerator =
MessageQueue.GetMessageQueueEnumerator();
// Move to the next queue and read its path.
while(myQueueEnumerator.MoveNext())
{
// Increase the count if priority is Lowest.
Console.WriteLine(myQueueEnumerator.Current.Path);
numberQueues++;
}
// Display final count.
Console.WriteLine("Number of public queues: " +
numberQueues.ToString());
return;
}
}
}
Imports System.Messaging
Public Class MyNewQueue
' Provides an entry point into the application.
'
' This example uses a cursor to step through the
' message queues and list the public queues on the
' network.
Public Shared Sub Main()
' Create a new instance of the class.
Dim myNewQueue As New MyNewQueue()
' Output the count of Lowest priority messages.
myNewQueue.ListPublicQueues()
Return
End Sub
' Iterates through message queues and examines the
' path for each queue. Also displays the number of
' public queues on the network.
Public Sub ListPublicQueues()
' Holds the count of private queues.
Dim numberQueues As Int32 = 0
' Get a cursor into the queues on the network.
Dim myQueueEnumerator As MessageQueueEnumerator = _
MessageQueue.GetMessageQueueEnumerator()
' Move to the next queue and read its path.
While myQueueEnumerator.MoveNext()
' Increase the count if the priority is Lowest.
Console.WriteLine(myQueueEnumerator.Current.Path)
numberQueues += 1
End While
' Display final count.
Console.WriteLine(("Number of public queues: " + _
numberQueues.ToString()))
Return
End Sub
End Class
Observações
Use MessageQueueEnumerator para interação dinâmica com filas na rede. Os métodos disponíveis através da MessageQueue classe podem devolver um MessageQueueEnumerator contendo uma lista dinâmica de filas, ou um array que contenha um instantâneo da coleção de filas no momento em que o método especificado foi chamado.
Não existe uma ordenação definida das filas numa rede. Não são ordenadas, por exemplo, por computador, editora, estatuto público ou privado, ou outros critérios acessíveis ao utilizador. A MessageQueueEnumerator é um cursor, inicializado na cabeça de uma lista dinâmica. Pode mover o cursor para a primeira fila da enumeração chamando MoveNext. Depois de o enumerador ser inicializado, pode usar MoveNext para avançar pelas filas restantes.
Não é possível recuar com um MessageQueueEnumerator. Um cursor só permite avançar através da enumeração da fila. No entanto, pode ligar Reset para reiniciar a enumeração e voltar a colocar o cursor no início da lista. Como o enumerador é dinâmico, uma fila anexada para além da posição atual do cursor pode ser acedida pelo enumerador. Uma fila inserida antes da posição atual do cursor não pode ser acedida sem antes chamar Reset.
Propriedades
| Name | Description |
|---|---|
| Current |
Recebe a corrente MessageQueue da enumeração. |
| LocatorHandle |
Obtém o handle nativo de Message Queuing usado para localizar filas numa rede. |
Métodos
| Name | Description |
|---|---|
| Close() |
Liberta os recursos associados ao enumerador. |
| CreateObjRef(Type) |
Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Dispose() |
Liberta todos os recursos utilizados pelo MessageQueueEnumerator. |
| Dispose(Boolean) |
Liberta os recursos não geridos usados pelo MessageQueueEnumerator e opcionalmente liberta os recursos geridos. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Finalize() |
Liberta os recursos mantidos na fila. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso. (Herdado de MarshalByRefObject) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obsoleto.
Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| MoveNext() |
Avança o enumerador para a fila seguinte da enumeração, caso exista disponível. |
| Reset() |
Reinicia o cursor, de modo a apontar para o início da enumeração. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IEnumerator.Current |
Recebe a corrente MessageQueue da enumeração. |