Comparteix a través de


MessageQueue.Exists(String) Método

Definición

Determina si existe una cola de Message Queuing en la ruta de acceso especificada.

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

Ubicación de la cola que se va a buscar.

Devoluciones

Es true si existe una cola con la ruta de acceso especificada; de lo contrario, es false.

Excepciones

La sintaxis de path no es válida.

Error al obtener acceso a un método de Message Queuing.

o bien

Se llama al método Exists(String) en una cola privada remota.

La aplicación utilizó una sintaxis de nombre de formato al comprobar la existencia de la cola.

Ejemplos

En el ejemplo de código siguiente se comprueba si existe una cola de Message Queuing y, a continuación, se elimina.

#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

Comentarios

El Exists(String) método determina si existe una cola de Message Queuing en una ruta de acceso especificada. No existe ningún método para determinar si existe una cola con un nombre de formato especificado. Para obtener más información sobre la sintaxis de nombre de formato y otros formularios de sintaxis de ruta de acceso, vea la Path propiedad ).

Exists(String) es una operación costosa. Úselo solo cuando sea necesario dentro de la aplicación.

Nota

El Exists(String) método no admite el FormatName prefijo.

La sintaxis del path parámetro depende del tipo de cola, como se muestra en la tabla siguiente.

Tipo de cola Syntax
Cola pública MachineName\QueueName

Exists(String) no se puede llamar a para comprobar la existencia de una cola privada remota.

Para obtener más sintaxis, consulte la Path propiedad .

Como alternativa, puede usar Label para describir la ruta de acceso de la cola.

Referencia Sintaxis
Etiqueta Label:[ label ]

En la tabla siguiente se muestra si este método está disponible en varios modos de grupo de trabajo.

Modo de grupo de trabajo Disponible
Equipo local
Equipo local y nombre de formato directo No
Equipo remoto No
Equipo remoto y nombre de formato directo No

Se aplica a

Consulte también