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

O local da fila a ser localizada.

Retornos

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

Exceções

A path sintaxe não é válida.

Ocorreu um erro ao acessar um método de Enfileiramento de Mensagens.

- ou -

O Exists(String) método está sendo chamado em uma fila privada 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. Não existe nenhum método para determinar se existe uma fila com um nome de formato especificado. Para obter mais informações sobre a sintaxe do nome do 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 caminho da fila para descrever.

Referência Sintaxe
Etiqueta 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 Sim
Nome do computador local e do formato direto No
Computador remoto No
Computador remoto e nome do formato direto No

Aplica-se a

Confira também