MessageQueuePermissionAccess 枚举

定义

定义 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
继承
MessageQueuePermissionAccess
属性

字段

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 2

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

None 0

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

Peek 10

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

Receive 26

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

Send 6

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

示例

下面的代码示例使用MessageQueuePermissionAccess创建的新MessageQueuePermission实例。The 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);
    }
}

适用于

另请参阅