Condividi tramite


MessageQueuePermissionAccess Enumerazione

Definizione

Definisce i livelli di accesso utilizzati dalle classi di autorizzazione System.Messaging.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

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
Ereditarietà
MessageQueuePermissionAccess
Attributi

Campi

Administer 62

MessageQueue è in grado di esaminare le code disponibili, leggere i messaggi nella coda, inviarli e riceverli.

Browse 2

MessageQueue è in grado di esaminare le code disponibili.

None 0

MessageQueue non dispone di autorizzazioni.

Peek 10

MessageQueue è in grado di esaminare le code disponibili e di leggere i messaggi nella coda.

Receive 26

MessageQueue è in grado di esaminare le code disponibili, leggere i messaggi nella coda e riceverli.

Send 6

MessageQueue è in grado di esaminare le code disponibili e di inviare messaggi.

Esempio

Nell'esempio di codice seguente viene MessageQueuePermissionAccess usata la creazione di una nuova istanza di 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);
    }
}

Si applica a

Vedi anche