MessageQueuePermissionAccess 枚举   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义 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- 继承
- 属性
字段
| 名称 | 值 | 说明 | 
|---|---|---|
| Administer | 62 | MessageQueue 可以查看可用的队列、读取队列中的消息并发送和接收消息。 | 
| Browse | 2 | MessageQueue 可以查看可用的队列。 | 
| None | 0 | MessageQueue 没有权限。 | 
| Peek | 10 | MessageQueue 可以查看可用的队列并读取队列中的消息。 | 
| Receive | 26 | MessageQueue 可以查看可用的队列、读取队列中的消息并接收消息。 | 
| Send | 6 | MessageQueue 可以查看可用的队列并发送消息。 | 
示例
下面的代码示例在创建新实例MessageQueuePermission时使用 MessageQueuePermissionAccess 。
#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);
    }
}