Freigeben über


MessageQueue.Exists(String) Methode

Definition

Bestimmt, ob eine Message Queuing-Warteschlange am angegebenen Pfad vorhanden ist.

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

Parameter

path
String

Der Speicherort der Warteschlange, die gesucht werden soll.

Gibt zurück

truewenn eine Warteschlange mit dem angegebenen Pfad vorhanden ist; andernfalls . false

Ausnahmen

Die path Syntax ist ungültig.

Fehler beim Zugriff auf eine Message Queuing-Methode.

- oder -

Die Exists(String) Methode wird für eine private Remotewarteschlange aufgerufen.

Die Anwendungsanwendung hat die Formatnamensyntax beim Überprüfen des Vorhandenseins der Warteschlange verwendet.

Beispiele

Im folgenden Codebeispiel wird überprüft, ob eine Message Queuing-Warteschlange vorhanden ist, und anschließend gelöscht.

#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

Hinweise

Die Exists(String) Methode bestimmt, ob eine Message Queuing-Warteschlange in einem angegebenen Pfad vorhanden ist. Es ist keine Methode vorhanden, um zu bestimmen, ob eine Warteschlange mit einem angegebenen Formatnamen vorhanden ist. Weitere Informationen zur Formatnamensyntax und anderen Pfadsyntaxformen finden Sie in der Path Eigenschaft.)

Exists(String) ist ein teurer Vorgang. Verwenden Sie sie nur, wenn sie innerhalb der Anwendung erforderlich ist.

Hinweis

Die Exists(String) Methode unterstützt das FormatName Präfix nicht.

Die Syntax für den path Parameter hängt vom Typ der Warteschlange ab, wie in der folgenden Tabelle dargestellt.

Warteschlangentyp Syntax
Öffentliche Warteschlange MachineName\QueueName

Exists(String) kann nicht aufgerufen werden, um das Vorhandensein einer privaten Remotewarteschlange zu überprüfen.

Weitere Syntax finden Sie in der Path Eigenschaft.

Alternativ können Sie den Label Warteschlangenpfad beschreiben.

Referenz Syntax
Bezeichnung Bezeichnung:[ label ]

In der folgenden Tabelle wird gezeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.

Arbeitsgruppenmodus Verfügbar
Lokaler Computer Ja
Name des lokalen Computers und des direkten Formats No
Remotecomputer No
Name des Remotecomputers und des direkten Formats No

Gilt für:

Weitere Informationen