MessageQueuePermissionAccess Enumeration

 

Defines access levels used by System.Messaging permission classes.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace:   System.Messaging
Assembly:  System.Messaging (in System.Messaging.dll)

[SerializableAttribute]
[FlagsAttribute]
public enum MessageQueuePermissionAccess

Member nameDescription
Administer

The MessageQueue can look at the queues that are available, read the messages in the queue, and send and receive messages.

Browse

The MessageQueue can look at the queues that are available.

None

The MessageQueue has no permissions.

Peek

The MessageQueue can look at the queues that are available and read the messages in the queue.

Receive

The MessageQueue can look at the queues that are available, read the messages in the queue, and receive messages.

Send

The MessageQueue can look at the queues that are available and send messages.

The following code example uses MessageQueuePermissionAccess in creating a new instance of MessageQueuePermission.


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);
    }
}

.NET Framework
Available since 1.1
Return to top
Show: