MessageQueuePermission Klas

Definitie

Hiermee staat u het beheer van toegangsmachtigingen voor code toe voor berichten.

public ref class MessageQueuePermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Serializable]
public sealed class MessageQueuePermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Serializable>]
type MessageQueuePermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class MessageQueuePermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Overname
MessageQueuePermission
Kenmerken
Implementeringen

Voorbeelden

In het volgende codevoorbeeld worden verschillende exemplaren gemaakt van MessageQueuePermission en wordt het gebruik van de PermissionEntries eigenschap gedemonstreert.


using System;
using System.Messaging;

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

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

        // Demonstrate MessageQueuePermission's constructors.
        example.CreatePermission1();
        example.CreatePermission2();
        example.CreatePermission3();
        example.CreatePermission4();
        example.CreatePermission5();

        // Get and set MessageQueuePermission's PermissionEntries property.
        example.GetPermissionEntries();
    }

    // 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 ()
    public void CreatePermission1()
    {
        // Create a new instance of MessageQueuePermission.
        MessageQueuePermission permission = new MessageQueuePermission();
    }

    // Demonstrates the following MessageQueuePermission constructor:
    // public #ctor (MessageQueuePermissionAccess permissionAccess,
    //  String path)
    public void CreatePermission2()
    {
        // Create a new instance of MessageQueuePermission.
        MessageQueuePermission permission = new MessageQueuePermission(
            MessageQueuePermissionAccess.Receive,
            ".\\exampleQueue");
    }

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

        // Create a new instance of MessageQueuePermission.
    string queueCategory = queue.Category.ToString();
    string machineName = queue.MachineName;
    string label = queue.Label;
        MessageQueuePermission permission = new MessageQueuePermission(
            MessageQueuePermissionAccess.Receive,
            machineName,
            label,
            queueCategory);
    }

    // Demonstrates the following MessageQueuePermission constructor:
    //public #ctor (MessageQueuePermissionEntry[] permissionAccessEntries)
    public void CreatePermission4()
    {
        // Connect to a queue on the local computer.
        MessageQueue queue = new MessageQueue(".\\exampleQueue");

        // Create an array of type MessageQueuePermissionEntry.
        MessageQueuePermissionEntry[] entries =
            new MessageQueuePermissionEntry[1];

        // Create a new instance of MessageQueuePermissionEntry and place the
        // instance in the array.
    string machineName = queue.MachineName;
    string label = queue.Label;
        entries[0] = new MessageQueuePermissionEntry(
            MessageQueuePermissionAccess.Receive,
            machineName,
            label,
            queue.Category.ToString());

        // Create a new instance of MessageQueuePermission.
        MessageQueuePermission permission = new MessageQueuePermission(
            entries);
    }

    // Demonstrates the following MessageQueuePermission constructor:
    //public #ctor (PermissionState state)
    public void CreatePermission5()
    {
        // Create a new instance of MessageQueuePermission.
        MessageQueuePermission permission = new MessageQueuePermission(
            System.Security.Permissions.PermissionState.Unrestricted);
    }

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

        // Create an array of type MessageQueuePermissionEntry.
        MessageQueuePermissionEntry[] entries =
            new MessageQueuePermissionEntry[1];

        // Create a new instance of MessageQueuePermissionEntry and place the
        // instance in the array.
    string machineName = queue.MachineName;
    string label = queue.Label;
        entries[0] = new MessageQueuePermissionEntry(
            MessageQueuePermissionAccess.Receive,
            machineName,
            label,
            queue.Category.ToString());

        // Create a new instance of MessageQueuePermission.
        MessageQueuePermission permission = new MessageQueuePermission(
            entries);

        // Create a new instance of MessageQueuePermissionEntryCollection and
        // use it to retrieve the permission's PermissionEntries property
        // value.
        MessageQueuePermissionEntryCollection collection =
            permission.PermissionEntries;

        // Loop through the collection.
        foreach(MessageQueuePermissionEntry entry in collection)
        {
            // Display the property values of each MessageQueuePermissionEntry.
            Console.WriteLine("PermissionAccess: {0}", entry.PermissionAccess);
            Console.WriteLine("MachineName: {0}", entry.MachineName);
            Console.WriteLine("Label: {0}", entry.Label);
            Console.WriteLine("Category: {0}", entry.Category.ToString());
        }
    }
}

Constructors

Name Description
MessageQueuePermission()

Initialiseert een nieuw exemplaar van de MessageQueuePermission klasse.

MessageQueuePermission(MessageQueuePermissionAccess, String, String, String)

Initialiseert een nieuw exemplaar van de MessageQueuePermission klasse met de opgegeven toegangsniveaus, de computer die moet worden gebruikt, de beschrijving van de wachtrij en de wachtrijcategorie.

MessageQueuePermission(MessageQueuePermissionAccess, String)

Initialiseert een nieuw exemplaar van de MessageQueuePermission klasse met de opgegeven toegangsniveaus en het pad van de wachtrij.

MessageQueuePermission(MessageQueuePermissionEntry[])

Initialiseert een nieuw exemplaar van de MessageQueuePermission klasse met de opgegeven vermeldingen op machtigingsniveau.

MessageQueuePermission(PermissionState)

Initialiseert een nieuw exemplaar van de MessageQueuePermission klasse met de opgegeven machtigingsstatus.

Eigenschappen

Name Description
PermissionEntries

Hiermee haalt u de verzameling machtigingsvermeldingen op voor deze machtigingsaanvraag.

Methoden

Name Description
Assert()

Declareert dat de aanroepende code toegang heeft tot de resource die wordt beveiligd door een machtigingsvraag via de code die deze methode aanroept, zelfs als bellers die hoger in de stack zijn, niet zijn gemachtigd om toegang te krijgen tot de resource. Met behulp van Assert() dit hulpprogramma kunt u beveiligingsproblemen maken.

(Overgenomen van CodeAccessPermission)
Copy()

Hiermee maakt en retourneert u een identieke kopie van het huidige machtigingsobject.

Demand()

Dwingt een runtime af SecurityException als aan alle bellers hoger in de aanroepstack niet de machtiging is verleend die is opgegeven door het huidige exemplaar.

(Overgenomen van CodeAccessPermission)
Deny()
Verouderd.
Verouderd.

Hiermee voorkomt u dat bellers in de aanroepstack de code gebruiken die deze methode aanroept om toegang te krijgen tot de resource die is opgegeven door het huidige exemplaar.

(Overgenomen van CodeAccessPermission)
Equals(Object)

Bepaalt of het opgegeven CodeAccessPermission object gelijk is aan de huidige CodeAccessPermission.

(Overgenomen van CodeAccessPermission)
FromXml(SecurityElement)

Hiermee wordt een beveiligingsobject met een opgegeven status van een XML-codering gereconstrueerd.

GetHashCode()

Hiermee haalt u een hashcode op voor het CodeAccessPermission object dat geschikt is voor gebruik in hash-algoritmen en gegevensstructuren, zoals een hash-tabel.

(Overgenomen van CodeAccessPermission)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
Intersect(IPermission)

Retourneert een nieuw machtigingsobject dat het snijpunt van het huidige machtigingsobject en het opgegeven machtigingsobject vertegenwoordigt.

IsSubsetOf(IPermission)

Retourneert een waarde die aangeeft of het huidige machtigingsobject een subset is van het opgegeven machtigingsobject.

IsUnrestricted()

Retourneert een waarde die aangeeft of de machtiging kan worden weergegeven als onbeperkt zonder enige kennis van de semantiek van de machtiging.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
PermitOnly()

Hiermee voorkomt u dat bellers in de aanroepstack de code gebruiken die deze methode aanroept om toegang te krijgen tot alle resources, met uitzondering van de resource die is opgegeven door het huidige exemplaar.

(Overgenomen van CodeAccessPermission)
ToString()

Hiermee maakt en retourneert u een tekenreeksweergave van het huidige machtigingsobject.

(Overgenomen van CodeAccessPermission)
ToXml()

Hiermee maakt u een XML-codering van het beveiligingsobject en de huidige status.

Union(IPermission)

Retourneert een nieuw machtigingsobject dat de samenvoeging is van de huidige en opgegeven machtigingsobjecten.

Van toepassing op

Zie ook