Sdílet prostřednictvím


MessageQueuePermissionAccess Výčet

Definice

Definuje úrovně přístupu používané třídami System.Messaging oprávnění.

Tento výčet podporuje bitové kombinace hodnot jeho členů.

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
Dědičnost
MessageQueuePermissionAccess
Atributy

Pole

Administer 62

Může MessageQueue se podívat na dostupné fronty, číst zprávy ve frontě a odesílat a přijímat zprávy.

Browse 2

Může MessageQueue se podívat na fronty, které jsou k dispozici.

None 0

Nemá MessageQueue žádná oprávnění.

Peek 10

Může MessageQueue se podívat na dostupné fronty a číst zprávy ve frontě.

Receive 26

Může MessageQueue se podívat na dostupné fronty, číst zprávy ve frontě a přijímat zprávy.

Send 6

Může MessageQueue se podívat na fronty, které jsou k dispozici, a odesílat zprávy.

Příklady

Následující příklad kódu používá MessageQueuePermissionAccess při vytváření nové instance objektu 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);
    }
}

Platí pro

Viz také