Freigeben über


MessageQueue.Exists(String) Methode

Definition

Bestimmt, ob unter dem angegeben Pfad eine Message Queuing-Warteschlange 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 gesuchten Warteschlange.

Gibt zurück

true, wenn unter dem angegebenen Pfad eine Warteschlange 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.

In der Anwendung wurde eine Syntax für Formatnamen verwendet, um das Vorhandensein der Warteschlange zu überprüfen.

Beispiele

Im folgenden Codebeispiel wird überprüft, ob eine Message Queuing-Warteschlange vorhanden ist, und anschließend wird sie 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 an 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 es nur, wenn es 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 gezeigt.

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.

Verweis Syntax
Bezeichnung Bezeichnung:[ label ]

Die folgende Tabelle zeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.

Arbeitsgruppenmodus Verfügbar
Lokalem Computer Ja
Name des lokalen Computers und direktes Format Nein
Remotecomputer Nein
Name des Remotecomputers und des direkten Formats Nein

Gilt für:

Weitere Informationen