Поделиться через


MessageQueue.Exists(String) Метод

Определение

Определяет, существует ли по указанному пути очередь сообщений.

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

Параметры

path
String

Расположение искомой очереди.

Возвращаемое значение

Значение true, если очередь по указанному пути существует; в противном случае — значение false.

Исключения

Неправильный синтаксис параметра path.

При обращении к методу службы очереди сообщений возникла ошибка.

-или-

Метод Exists(String) вызывается на удаленной частной очереди.

При проверке существования очереди приложение использовало синтаксис имени формата.

Примеры

В следующем примере кода проверяется, существует ли очередь очереди сообщений, а затем удаляется.

#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

Комментарии

Метод Exists(String) определяет, существует ли очередь очереди сообщений по указанному пути. Метод не существует, чтобы определить, существует ли очередь с указанным именем формата. Дополнительные сведения о синтаксисе имени формата и других формах синтаксиса пути см. в свойстве Path .)

Exists(String) является дорогостоящей операцией. Используйте его только в том случае, если это необходимо в приложении.

Примечание

Метод Exists(String) не поддерживает FormatName префикс .

Синтаксис параметра path зависит от типа очереди, как показано в следующей таблице.

Тип очереди Синтаксис
Общедоступная очередь MachineName\QueueName

Exists(String) не может быть вызван для проверки существования удаленной частной очереди.

Дополнительные сведения о синтаксисе см. в свойстве Path .

Кроме того, можно использовать для Label описания пути очереди.

Справочник Синтаксис
Метка Метка:[ label ]

В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.

Режим рабочей группы Доступно
Локальный компьютер Да
Имя локального компьютера и прямого формата Нет
Удаленный компьютер Нет
Имя удаленного компьютера и прямого формата Нет

Применяется к

См. также раздел