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 ] |
В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.
Режим рабочей группы | Доступно |
---|---|
Локальный компьютер | Да |
Имя локального компьютера и прямого формата | Нет |
Удаленный компьютер | Нет |
Имя удаленного компьютера и прямого формата | Нет |