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


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 ]

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

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

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

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