Compartilhar via


MessageQueue.Exists(String) Método

Definição

Determina se existe uma fila de Enfileiramento de Mensagens no caminho especificado.

public:
 static bool Exists(System::String ^ path);
public static bool Exists (string path);
static member Exists : string -> bool
Public Shared Function Exists (path As String) As Boolean

Parâmetros

path
String

A localização da fila a ser encontrada.

Retornos

true se existir uma fila com o caminho especificado; caso contrário, false.

Exceções

A sintaxe path não é válida.

Erro ao acessar um método do serviço de Enfileiramento de Mensagens.

- ou -

O método Exists(String) está sendo chamado em uma fila particular remota

O aplicativo usou a sintaxe de nome de formato ao verificar a existência da fila.

Exemplos

O exemplo de código a seguir verifica se existe uma fila de Enfileiramento de Mensagens e a exclui.

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;
int main()
{
   
   // Determine whether the queue exists.
   if ( MessageQueue::Exists( ".\\myQueue" ) )
   {
      try
      {
         
         // Delete the queue.
         MessageQueue::Delete( ".\\myQueue" );
      }
      catch ( MessageQueueException^ e ) 
      {
         if ( e->MessageQueueErrorCode == MessageQueueErrorCode::AccessDenied )
         {
            Console::WriteLine( "Access is denied. Queue might be a system queue." );
         }
         
         // Handle other sources of MessageQueueException.
      }

   }

   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 verifies existence and attempts to
        // delete a queue.
        //**************************************************

        public static void Main()
        {

            // Determine whether the queue exists.
            if (MessageQueue.Exists(".\\myQueue"))
            {
                try
                {
                    // Delete the queue.
                    MessageQueue.Delete(".\\myQueue");
                }
                catch(MessageQueueException e)
                {
                    if(e.MessageQueueErrorCode ==
                        MessageQueueErrorCode.AccessDenied)
                    {
                        Console.WriteLine("Access is denied. " +
                            "Queue might be a system queue.");
                    }

                    // Handle other sources of MessageQueueException.
                }
            }
        
            return;
        }
    }
}
Imports System.Messaging



Public Class MyNewQueue


        
        ' Provides an entry point into the application.
        '		 
        ' This example verifies existence and attempts to 
        ' delete a queue.
        

        Public Shared Sub Main()

            ' Determine whether the queue exists.
            If MessageQueue.Exists(".\myQueue") Then

                Try

                    ' Delete the queue.
                    MessageQueue.Delete(".\myQueue")

                Catch e As MessageQueueException

                    If e.MessageQueueErrorCode = _
                        MessageQueueErrorCode.AccessDenied Then

                        Console.WriteLine("Access is denied. " _
                            + "Queue might be a system queue.")
                    End If

                    ' Handle other sources of exceptions as necessary.

                End Try

            End If


            Return

        End Sub

End Class

Comentários

O Exists(String) método determina se existe uma fila de Enfileiramento de Mensagens em um caminho especificado. Nenhum método existe para determinar se existe uma fila com um nome de formato especificado. Para obter mais informações sobre a sintaxe de nome de formato e outros formulários de sintaxe de caminho, consulte a Path propriedade .)

Exists(String) é uma operação cara. Use-o somente quando for necessário dentro do aplicativo.

Observação

O Exists(String) método não dá suporte ao FormatName prefixo.

A sintaxe do path parâmetro depende do tipo de fila, conforme mostrado na tabela a seguir.

Tipo de fila Sintaxe
Fila pública MachineName\QueueName

Exists(String) não pode ser chamado para verificar a existência de uma fila privada remota.

Para obter mais sintaxe, consulte a Path propriedade .

Como alternativa, você pode usar o Label para descrever o caminho da fila.

Referência Sintaxe
Rotular Label:[ label ]

A tabela a seguir mostra se esse método está disponível em vários modos de Grupo de Trabalho.

Modo de grupo de trabalho Disponível
Computador local Yes
Nome do computador local e do formato direto Não
Computador remoto Não
Computador remoto e nome de formato direto Não

Aplica-se a

Confira também