MessageQueuePermission Kelas

Definisi

Memungkinkan kontrol izin akses kode untuk olahpesan.

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
Warisan
MessageQueuePermission
Atribut
Penerapan

Contoh

Contoh kode berikut membuat beberapa instans MessageQueuePermission dan menunjukkan penggunaan PermissionEntries properti .


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

Konstruktor

MessageQueuePermission()

Menginisialisasi instans baru kelas MessageQueuePermission.

MessageQueuePermission(MessageQueuePermissionAccess, String)

Menginisialisasi instans MessageQueuePermission baru kelas dengan tingkat akses yang ditentukan dan jalur antrean.

MessageQueuePermission(MessageQueuePermissionAccess, String, String, String)

Menginisialisasi instans MessageQueuePermission baru kelas dengan tingkat akses, komputer yang akan digunakan, deskripsi antrean, dan kategori antrean yang ditentukan.

MessageQueuePermission(MessageQueuePermissionEntry[])

Menginisialisasi instans MessageQueuePermission baru kelas dengan entri tingkat akses izin yang ditentukan.

MessageQueuePermission(PermissionState)

Menginisialisasi instans MessageQueuePermission baru kelas dengan status izin yang ditentukan.

Properti

PermissionEntries

Mendapatkan kumpulan entri izin untuk permintaan izin ini.

Metode

Assert()

Menyatakan bahwa kode panggilan dapat mengakses sumber daya yang dilindungi oleh permintaan izin melalui kode yang memanggil metode ini, bahkan jika penelepon yang lebih tinggi di tumpukan belum diberikan izin untuk mengakses sumber daya. Menggunakan Assert() dapat membuat masalah keamanan.

(Diperoleh dari CodeAccessPermission)
Copy()

Membuat dan mengembalikan salinan identik dari objek izin saat ini.

Demand()

SecurityException Memaksa pada durasi jika semua penelepon yang lebih tinggi dalam tumpukan panggilan belum diberikan izin yang ditentukan oleh instans saat ini.

(Diperoleh dari CodeAccessPermission)
Deny()
Kedaluwarsa.
Kedaluwarsa.

Mencegah penelepon yang lebih tinggi dalam tumpukan panggilan menggunakan kode yang memanggil metode ini untuk mengakses sumber daya yang ditentukan oleh instans saat ini.

(Diperoleh dari CodeAccessPermission)
Equals(Object)

Menentukan apakah objek yang ditentukan CodeAccessPermission sama dengan objek saat ini CodeAccessPermission.

(Diperoleh dari CodeAccessPermission)
FromXml(SecurityElement)

Merekonstruksi objek keamanan dengan status tertentu dari pengodean XML.

GetHashCode()

Mendapatkan kode hash untuk CodeAccessPermission objek yang cocok untuk digunakan dalam algoritma hash dan struktur data seperti tabel hash.

(Diperoleh dari CodeAccessPermission)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
Intersect(IPermission)

Mengembalikan objek izin baru yang mewakili persimpangan objek izin saat ini dan objek izin yang ditentukan.

IsSubsetOf(IPermission)

Mengembalikan nilai yang menunjukkan apakah objek izin saat ini adalah subset dari objek izin yang ditentukan.

IsUnrestricted()

Mengembalikan nilai yang menunjukkan apakah izin dapat direpresentasikan sebagai tidak terbatas tanpa pengetahuan tentang semantik izin.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
PermitOnly()

Mencegah penelepon yang lebih tinggi dalam tumpukan panggilan menggunakan kode yang memanggil metode ini untuk mengakses semua sumber daya kecuali untuk sumber daya yang ditentukan oleh instans saat ini.

(Diperoleh dari CodeAccessPermission)
ToString()

Membuat dan mengembalikan representasi string dari objek izin saat ini.

(Diperoleh dari CodeAccessPermission)
ToXml()

Membuat pengodean XML objek keamanan dan statusnya saat ini.

Union(IPermission)

Mengembalikan objek izin baru yang merupakan gabungan objek izin saat ini dan yang ditentukan.

Berlaku untuk

Lihat juga