MessageQueuePermissionEntry Classe

Definizione

Definisce l'unità più piccola di un'autorizzazione di sicurezza per l'accesso al codice per la messaggistica.Defines the smallest unit of a code access security permission set for messaging.

public ref class MessageQueuePermissionEntry
[System.Serializable]
public class MessageQueuePermissionEntry
type MessageQueuePermissionEntry = class
Public Class MessageQueuePermissionEntry
Ereditarietà
MessageQueuePermissionEntry
Attributi

Esempi

L'esempio di codice seguente illustra l'uso di MessageQueuePermissionEntry.The following code example demonstrates the use of MessageQueuePermissionEntry.


#using <System.Messaging.dll>
#using <System.dll>

using namespace System;
using namespace System::Messaging;

public ref class MessageQueuePermissionEntryExample
{
    // Creates a new queue.
public:
    static 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 following MessageQueuePermission constructor:
    // public #ctor (MessageQueuePermissionAccess permissionAccess,
    //  String path)
public:
    void CreateEntryShortCtor()
    {
        // Connect to a queue on the local computer.
        MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
            MessageQueuePermissionAccess::Receive,
            queue->Path);

        queue->Close(); 
    }

    // Demonstrates the following MessageQueuePermission constructor:
    // public #ctor (MessageQueuePermissionAccess permissionAccess,
    //  String machineName, String label, String category)
public:
    void CreateEntryLongCtor()
    {
        // Connect to a queue on the local computer.
        MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
            MessageQueuePermissionAccess::Receive,
            queue->MachineName,
            queue->Label,
            queue->Category.ToString());

        queue->Close();
    }

public:
    void CategoryExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
            MessageQueuePermissionAccess::Receive,
            queue->MachineName,
            queue->Label,
            queue->Category.ToString());

        // Display the value of the entry's Category property.
        Console::WriteLine("Category: {0}", entry->Category->ToString());

        queue->Close();
    }

public:
    void LabelExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
            MessageQueuePermissionAccess::Receive,
            queue->MachineName,
            queue->Label,
            queue->Category.ToString());

        // Display the value of the entry's Label property.
        Console::WriteLine("Label: {0}", entry->Label);

        queue->Close();
    }

public:
    void MachineNameExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
            MessageQueuePermissionAccess::Receive,
            queue->MachineName,
            queue->Label,
            queue->Category.ToString());

        // Display the value of the entry's MachineName property.
        Console::WriteLine("MachineName: {0}", entry->MachineName);

        queue->Close();
    }

public:
    void PathExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
            MessageQueuePermissionAccess::Receive,
            queue->Path);

        // Display the value of the entry's Path property.
        Console::WriteLine("Path: {0}", entry->Path);

        queue->Close();
    }

public:
    void PermissionAccessExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
            MessageQueuePermissionAccess::Receive,
            queue->MachineName,
            queue->Label,
            queue->Category.ToString());

        // Display the value of the entry's PermissionAccess property.
        Console::WriteLine("PermissionAccess: {0}", entry->PermissionAccess);
 
        queue->Close(); 
    }
};

int main()
{
    // Create a new instance of the class.
    MessageQueuePermissionEntryExample^ example =
        gcnew MessageQueuePermissionEntryExample();

    try
    {
        // Create a non-transactional queue on the local computer.
        // Note that the queue might not be immediately accessible, and
        // therefore this example might throw an exception of type
        // System.Messaging.MessageQueueException when trying to send a
        // message to the newly created queue.
        example->CreateQueue(".\\exampleQueue", false);

        // Demonstrate MessageQueuePermissionEntry's constructors.
        example->CreateEntryShortCtor();
        example->CreateEntryLongCtor();

        // Demonstrate MessageQueuePermissionEntry's properties.
        example->CategoryExample();
        example->LabelExample();
        example->MachineNameExample();
        example->PathExample();
        example->PermissionAccessExample();
    }

    catch (InvalidOperationException^)
    {
        Console::WriteLine("Please install Message Queuing.");
    }

    catch (MessageQueueException^ ex)
    {
        // Write the exception information to the console.
        Console::WriteLine(ex->Message);
    }
}

using System;
using System.Messaging;

public class MessageQueuePermissionEntryExample
{
    public static void Main()
    {
        // Create a new instance of the class.
        MessageQueuePermissionEntryExample example =
            new MessageQueuePermissionEntryExample();

        // Create a non-transactional queue on the local computer.
        CreateQueue(".\\exampleQueue", false);

        // Demonstrate MessageQueuePermissionEntry's constructors.
        example.CreateEntry1();
        example.CreateEntry2();

        // Demonstrate MessageQueuePermissionEntry's properties.
        example.CategoryExample();
        example.LabelExample();
        example.MachineNameExample();
        example.PathExample();
        example.PermissionAccessExample();
    }

    // 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 following MessageQueuePermission constructor:
    // public #ctor (MessageQueuePermissionAccess permissionAccess,
    //  String path)
    public void CreateEntry1()
    {
        // Connect to a queue on the local computer.
        MessageQueue queue = new MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
            MessageQueuePermissionAccess.Receive,
            queue.Path);
    }

    // Demonstrates the following MessageQueuePermission constructor:
    // public #ctor (MessageQueuePermissionAccess permissionAccess,
    //  String machineName, String label, String category)
    public void CreateEntry2()
    {
        // Connect to a queue on the local computer.
        MessageQueue queue = new MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
            MessageQueuePermissionAccess.Receive,
            queue.MachineName,
            queue.Label,
            queue.Category.ToString());
    }

    public void CategoryExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue queue = new MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
            MessageQueuePermissionAccess.Receive,
            queue.MachineName,
            queue.Label,
            queue.Category.ToString());

        // Display the value of the entry's Category property.
        Console.WriteLine("Category: {0}", entry.Category.ToString());
    }

    public void LabelExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue queue = new MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
            MessageQueuePermissionAccess.Receive,
            queue.MachineName,
            queue.Label,
            queue.Category.ToString());

        // Display the value of the entry's Label property.
        Console.WriteLine("Label: {0}", entry.Label);
    }

    public void MachineNameExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue queue = new MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
            MessageQueuePermissionAccess.Receive,
            queue.MachineName,
            queue.Label,
            queue.Category.ToString());

        // Display the value of the entry's MachineName property.
        Console.WriteLine("MachineName: {0}", entry.MachineName);
    }

    public void PathExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue queue = new MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
            MessageQueuePermissionAccess.Receive,
            queue.Path);

        // Display the value of the entry's Path property.
        Console.WriteLine("Path: {0}", entry.Path);
    }

    public void PermissionAccessExample()
    {
        // Connect to a queue on the local computer.
        MessageQueue queue = new MessageQueue(".\\exampleQueue");

        // Create a new instance of MessageQueuePermissionEntry.
        MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
            MessageQueuePermissionAccess.Receive,
            queue.MachineName,
            queue.Label,
            queue.Category.ToString());

        // Display the value of the entry's PermissionAccess property.
        Console.WriteLine("PermissionAccess: {0}", entry.PermissionAccess);
    }
}

Commenti

Per altre informazioni, vedere sicurezza dall'accesso di codice.For more information, see Code Access Security.

Costruttori

MessageQueuePermissionEntry(MessageQueuePermissionAccess, String)

Inizializza una nuova istanza della classe MessageQueuePermissionEntry con i livelli di accesso di autorizzazione specificati e il percorso della coda.Initializes a new instance of the MessageQueuePermissionEntry class with the specified permission access levels and the path of the queue.

MessageQueuePermissionEntry(MessageQueuePermissionAccess, String, String, String)

Inizializza una nuova istanza della classe MessageQueuePermissionEntry con i livelli di accesso di autorizzazione specificati, il nome del computer in cui si trova la coda, la descrizione della coda e la categoria cui essa appartiene.Initializes a new instance of the MessageQueuePermissionEntry class with the specified permission access levels, the name of the computer where the queue is located, the queue description, and the queue category.

Proprietà

Category

Ottiene la categoria della coda.Gets the queue category.

Label

Ottiene la descrizione della coda.Gets the queue description.

MachineName

Ottiene il nome del computer in cui è posizionata la coda di Accodamento messaggi.Gets the name of the computer where the Message Queuing queue is located.

Path

Ottiene il percorso della coda.Gets the queue's path.

PermissionAccess

Ottiene i livelli di accesso di autorizzazione utilizzati nella richiesta delle autorizzazioni.Gets the permission access levels used in the permissions request.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Vedi anche