MessageQueue.Exists(String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 | Sí |
Equipo local y nombre de formato directo | No |
Equipo remoto | No |
Equipo remoto y nombre de formato directo | No |