MessageQueuePermissionAccess MessageQueuePermissionAccess MessageQueuePermissionAccess MessageQueuePermissionAccess Enum

定义

定义 System.Messaging 权限类使用的访问级别。Defines access levels used by System.Messaging permission classes.

此枚举有一个 FlagsAttribute 属性,允许按位组合成员值。

public enum class MessageQueuePermissionAccess
[System.Flags]
[System.Serializable]
public enum MessageQueuePermissionAccess
type MessageQueuePermissionAccess = 
Public Enum MessageQueuePermissionAccess
继承
MessageQueuePermissionAccessMessageQueuePermissionAccessMessageQueuePermissionAccessMessageQueuePermissionAccess
属性

字段

Administer Administer Administer Administer 62

MessageQueue 可以查看可用的队列、读取队列中的消息并发送和接收消息。The MessageQueue can look at the queues that are available, read the messages in the queue, and send and receive messages.

Browse Browse Browse Browse 2

MessageQueue 可以查看可用的队列。The MessageQueue can look at the queues that are available.

None None None None 0

MessageQueue 没有权限。The MessageQueue has no permissions.

Peek Peek Peek Peek 10

MessageQueue 可以查看可用的队列并读取队列中的消息。The MessageQueue can look at the queues that are available and read the messages in the queue.

Receive Receive Receive Receive 26

MessageQueue 可以查看可用的队列、读取队列中的消息并接收消息。The MessageQueue can look at the queues that are available, read the messages in the queue, and receive messages.

Send Send Send Send 6

MessageQueue 可以查看可用的队列并发送消息。The MessageQueue can look at the queues that are available and send messages.

示例

下面的代码示例使用MessageQueuePermissionAccess中创建的新实例MessageQueuePermissionThe following code example uses MessageQueuePermissionAccess in creating a new instance of 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);
    }
}

适用于

另请参阅