MessageQueuePermission Třída

Definice

Umožňuje řídit přístupová oprávnění ke kódu pro zasílání zpráv.

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

Příklady

Následující příklad kódu vytvoří několik instancí MessageQueuePermission a ukazuje použití PermissionEntries vlastnosti .


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());
        }
    }
}

Konstruktory

MessageQueuePermission()

Inicializuje novou instanci MessageQueuePermission třídy .

MessageQueuePermission(MessageQueuePermissionAccess, String)

Inicializuje novou instanci MessageQueuePermission třídy se zadanými úrovněmi přístupu a cestou fronty.

MessageQueuePermission(MessageQueuePermissionAccess, String, String, String)

Inicializuje novou instanci MessageQueuePermission třídy se zadanými úrovněmi přístupu, počítačem, který se má použít, popisem fronty a kategorií fronty.

MessageQueuePermission(MessageQueuePermissionEntry[])

Inicializuje novou instanci MessageQueuePermission třídy se zadanými položkami úrovně přístupu oprávnění.

MessageQueuePermission(PermissionState)

Inicializuje novou instanci MessageQueuePermission třídy se zadaným stavem oprávnění.

Vlastnosti

PermissionEntries

Získá kolekci položek oprávnění pro tento požadavek na oprávnění.

Metody

Assert()

Deklaruje, že volající kód má přístup k prostředku chráněnému požadavkům oprávnění prostřednictvím kódu, který volá tuto metodu, i když volajícím výše v zásobníku nebylo uděleno oprávnění pro přístup k prostředku. Použití Assert() může vytvořit problémy se zabezpečením.

(Zděděno od CodeAccessPermission)
Copy()

Vytvoří a vrátí identickou kopii aktuálního objektu oprávnění.

Demand()

SecurityException Vynutí za běhu, pokud všem volajícím výše v zásobníku volání nebylo uděleno oprávnění určené aktuální instancí.

(Zděděno od CodeAccessPermission)
Deny()
Zastaralé.
Zastaralé.

Zabraňuje volajícím výše v zásobníku volání v použití kódu, který volá tuto metodu pro přístup k prostředku určenému aktuální instancí.

(Zděděno od CodeAccessPermission)
Equals(Object)

Určuje, zda je zadaný CodeAccessPermission objekt roven aktuálnímu CodeAccessPermissionobjektu .

(Zděděno od CodeAccessPermission)
FromXml(SecurityElement)

Rekonstruuje objekt zabezpečení se zadaným stavem z kódování XML.

GetHashCode()

Získá kód hash objektu CodeAccessPermission , který je vhodný pro použití v algoritmech hash a datových strukturách, jako je tabulka hash.

(Zděděno od CodeAccessPermission)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
Intersect(IPermission)

Vrátí nový objekt oprávnění, který představuje průsečík aktuálního objektu oprávnění a zadaného objektu oprávnění.

IsSubsetOf(IPermission)

Vrátí hodnotu, která označuje, zda je aktuální objekt oprávnění podmnožinou zadaného objektu oprávnění.

IsUnrestricted()

Vrátí hodnotu, která označuje, zda oprávnění může být reprezentováno jako neomezené bez znalosti sémantiky oprávnění.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
PermitOnly()

Zabraňuje volajícím výše v zásobníku volání v použití kódu, který volá tuto metodu pro přístup ke všem prostředkům s výjimkou prostředku určeného aktuální instancí.

(Zděděno od CodeAccessPermission)
ToString()

Vytvoří a vrátí řetězcovou reprezentaci aktuálního objektu oprávnění.

(Zděděno od CodeAccessPermission)
ToXml()

Vytvoří kódování XML objektu zabezpečení a jeho aktuální stav.

Union(IPermission)

Vrátí nový objekt oprávnění, který je sjednocením aktuálních a zadaných objektů oprávnění.

Platí pro

Viz také