Partage via


MessageQueuePermissionAccess Énumération

Définition

Définit les niveaux d'accès employés par les classes d'autorisation System.Messaging.

Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.

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
Héritage
MessageQueuePermissionAccess
Attributs

Champs

Administer 62

MessageQueue peut accéder aux files d'attente disponibles, lire les messages qui s'y trouvent, et envoyer et recevoir des messages.

Browse 2

MessageQueue peut accéder aux files d'attente disponibles.

None 0

MessageQueue ne possède aucune autorisation.

Peek 10

MessageQueue peut accéder aux files d'attente disponibles et lire les messages dans la file d'attente.

Receive 26

MessageQueue peut accéder aux files d'attente disponibles, lire les messages dans la file d'attente et recevoir des messages.

Send 6

MessageQueue peut accéder aux files d'attente disponibles et envoyer des messages.

Exemples

L’exemple de code suivant utilise MessageQueuePermissionAccess pour créer un instance de 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);
    }
}

S’applique à

Voir aussi