MessageQueue.Exists(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |