MessageQueuePermissionAccess Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет уровни доступа, используемые классами разрешений System.Messaging.
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class MessageQueuePermissionAccess
[System.Flags]
public enum MessageQueuePermissionAccess
[System.Flags]
[System.Serializable]
public enum MessageQueuePermissionAccess
[<System.Flags>]
type MessageQueuePermissionAccess =
[<System.Flags>]
[<System.Serializable>]
type MessageQueuePermissionAccess =
Public Enum MessageQueuePermissionAccess
- Наследование
- Атрибуты
Поля
| Имя | Значение | Описание |
|---|---|---|
| None | 0 | У него MessageQueue нет разрешений. |
| Browse | 2 | Он MessageQueue может посмотреть на доступные очереди. |
| Send | 6 | Он MessageQueue может просматривать очереди, доступные и отправляющие сообщения. |
| Peek | 10 | Он MessageQueue может посмотреть очереди, доступные и прочитать сообщения в очереди. |
| Receive | 26 | Он MessageQueue может просматривать доступные очереди, читать сообщения в очереди и получать сообщения. |
| Administer | 62 | Он MessageQueue может просматривать доступные очереди, читать сообщения в очереди и отправлять и получать сообщения. |
Примеры
В следующем примере кода используется MessageQueuePermissionAccess создание нового экземпляра MessageQueuePermission.
#using <System.dll>
#using <System.Messaging.dll>
using namespace System;
using namespace System::Messaging;
// Creates a new queue.
void CreateQueue(String^ queuePath, bool transactional)
{
if (!MessageQueue::Exists(queuePath))
{
MessageQueue^ queue = MessageQueue::Create(queuePath, transactional);
queue->Close();
}
else
{
Console::WriteLine("{0} already exists.",queuePath);
}
}
// Demonstrates the use of MessageQueuePermissionAccess
void CreatePermission()
{
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermission.
MessageQueuePermission^ permission = gcnew MessageQueuePermission(
MessageQueuePermissionAccess::Receive, queue->MachineName,
queue->Label, queue->Category.ToString());
queue->Close();
}
int main()
{
try
{
// Create a non-transactional queue on the local computer.
CreateQueue(".\\exampleQueue", false);
// Demonstrate use of MessageQueuePermissionAccess.
CreatePermission();
}
catch (InvalidOperationException^)
{
Console::WriteLine("Please install Message Queuing.");
}
catch (MessageQueueException^ ex)
{
Console::WriteLine(ex->Message);
}
}
using System;
using System.Messaging;
public class MessageQueuePermissionAccessExample
{
public static void Main()
{
// Create a new instance of the class.
MessageQueuePermissionAccessExample example =
new MessageQueuePermissionAccessExample();
// Create a non-transactional queue on the local computer.
CreateQueue(".\\exampleQueue", false);
// Demonstrate use of MessageQueuePermissionAccess.
example.CreatePermission();
}
// Creates a new queue.
public static void CreateQueue(string queuePath, bool transactional)
{
if(!MessageQueue.Exists(queuePath))
{
MessageQueue.Create(queuePath, transactional);
}
else
{
Console.WriteLine(queuePath + " already exists.");
}
}
// Demonstrates the use of MessageQueuePermissionAccess
public void CreatePermission()
{
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
string machineName = queue.MachineName;
string label = queue.Label;
string category = queue.Category.ToString();
// Create a new instance of MessageQueuePermission.
MessageQueuePermission permission = new MessageQueuePermission(
MessageQueuePermissionAccess.Receive,
machineName,
label,
category);
}
}