Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

MessageQueuePermission, classe

Permet de contrôler les autorisations d'accès du code pour la messagerie.

System.Object
  System.Security.CodeAccessPermission
    System.Messaging.MessageQueuePermission

Espace de noms :  System.Messaging
Assembly :  System.Messaging (dans System.Messaging.dll)

[SerializableAttribute]
public sealed class MessageQueuePermission : CodeAccessPermission, 
	IUnrestrictedPermission

Le type MessageQueuePermission expose les membres suivants.

  NomDescription
Méthode publiqueMessageQueuePermission()Initialise une nouvelle instance de la classe MessageQueuePermission.
Méthode publiqueMessageQueuePermission(MessageQueuePermissionEntry[])Initialise une nouvelle instance de la classe MessageQueuePermission avec les entrées de niveau d'accès d'autorisation spécifiées.
Méthode publiqueMessageQueuePermission(PermissionState)Initialise une nouvelle instance de la classe MessageQueuePermission avec l'état d'autorisation spécifié.
Méthode publiqueMessageQueuePermission(MessageQueuePermissionAccess, String)Initialise une nouvelle instance de la classe MessageQueuePermission avec les niveaux d'accès spécifiés et le chemin de la file d'attente.
Méthode publiqueMessageQueuePermission(MessageQueuePermissionAccess, String, String, String)Initialise une nouvelle instance de la classe MessageQueuePermission avec les niveaux d'accès, l'ordinateur à utiliser, la description de la file d'attente et la catégorie de la file d'attente spécifiés.
Début

  NomDescription
Propriété publiquePermissionEntriesObtient la collection d'entrées d'autorisation pour cette demande d'autorisation.
Début

  NomDescription
Méthode publiqueAssertDéclare que le code appelant peut accéder à la ressource protégée par une demande d'autorisation à l'aide du code appelant cette méthode, même si les appelants qui sont plus hauts dans la pile n'ont pas reçu l'autorisation d'y accéder. Le recours à Assert peut présenter certains problèmes de sécurité. (Hérité de CodeAccessPermission.)
Méthode publiqueCopyCrée et retourne une copie identique de l'objet d'autorisation en cours. (Substitue CodeAccessPermission.Copy().)
Méthode publiqueDemandAu moment de l'exécution, force SecurityException si tous les appelants qui sont plus hauts dans la pile des appels n'ont pas reçu l'autorisation spécifiée par l'instance actuelle. (Hérité de CodeAccessPermission.)
Méthode publiqueDeny Obsolète. Empêche les appelants situés plus haut dans la pile des appels d'utiliser le code qui appelle cette méthode pour accéder à la ressource spécifiée par l'instance actuelle. (Hérité de CodeAccessPermission.)
Méthode publiqueEqualsDétermine si l'objet CodeAccessPermission spécifié est égal au CodeAccessPermission actuel. (Hérité de CodeAccessPermission.)
Méthode publiqueFromXmlReconstruit un objet de sécurité avec un état spécifié à partir d'un encodage XML. (Substitue CodeAccessPermission.FromXml(SecurityElement).)
Méthode publiqueGetHashCodeObtient un code de hachage pour l'objet CodeAccessPermission qui convient aux algorithmes de hachage et aux structures de données, par exemple une table de hachage. (Hérité de CodeAccessPermission.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueIntersectRetourne un nouvel objet d'autorisation qui représente l'intersection entre l'objet d'autorisation en cours et l'objet d'autorisation spécifié. (Substitue CodeAccessPermission.Intersect(IPermission).)
Méthode publiqueIsSubsetOfRetourne une valeur qui indique si l'objet d'autorisation en cours est un sous-ensemble de l'objet d'autorisation spécifié. (Substitue CodeAccessPermission.IsSubsetOf(IPermission).)
Méthode publiqueIsUnrestrictedRetourne une valeur qui indique si l'autorisation peut être représentée comme illimitée sans aucune connaissance de la sémantique des autorisations.
Méthode publiquePermitOnlyEmpêche les appelants situés plus haut dans la pile des appels d'utiliser le code qui appelle cette méthode pour accéder à toutes les ressources sauf celle spécifiée par l'instance actuelle. (Hérité de CodeAccessPermission.)
Méthode publiqueToStringCrée et retourne la représentation de chaîne de l'objet d'autorisation en cours. (Hérité de CodeAccessPermission.)
Méthode publiqueToXmlCrée un codage XML de l'objet de sécurité et de son état actuel. (Substitue CodeAccessPermission.ToXml().)
Méthode publiqueUnionRetourne un nouvel objet d'autorisation qui représente l'union entre l'objet d'autorisation en cours et l'objet d'autorisation spécifié. (Substitue CodeAccessPermission.Union(IPermission).)
Début

L'exemple de code suivant crée plusieurs instances de MessageQueuePermission et illustre l'utilisation de la propriété PermissionEntries.



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



.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft