Aracılığıyla paylaş


MessageQueuePermission Sınıf

Tanım

Mesajlaşma için kod erişim izinlerinin denetimine izin verir.

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
Devralma
MessageQueuePermission
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği birkaç örneğini MessageQueuePermission oluşturur ve özelliğinin PermissionEntries kullanımını gösterir.


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

Oluşturucular

MessageQueuePermission()

MessageQueuePermission sınıfının yeni bir örneğini başlatır.

MessageQueuePermission(MessageQueuePermissionAccess, String)

Belirtilen erişim düzeyleri ve kuyruğun MessageQueuePermission yolu ile sınıfının yeni bir örneğini başlatır.

MessageQueuePermission(MessageQueuePermissionAccess, String, String, String)

Belirtilen erişim düzeyleri, kullanılacak bilgisayar, kuyruk açıklaması ve kuyruk kategorisi ile sınıfın yeni bir örneğini MessageQueuePermission başlatır.

MessageQueuePermission(MessageQueuePermissionEntry[])

Belirtilen izin erişim düzeyi girdileriyle sınıfının yeni bir örneğini MessageQueuePermission başlatır.

MessageQueuePermission(PermissionState)

Belirtilen izin durumuyla sınıfının yeni bir örneğini MessageQueuePermission başlatır.

Özellikler

PermissionEntries

Bu izin isteği için izin girdileri koleksiyonunu alır.

Yöntemler

Assert()

Yığında daha yüksek arayanlara kaynağa erişim izni verilmemiş olsa bile çağıran kodun bu yöntemi çağıran kod aracılığıyla bir izin talebiyle korunan kaynağa erişebileceğini bildirir. kullanmak Assert() güvenlik sorunları oluşturabilir.

(Devralındığı yer: CodeAccessPermission)
Copy()

Geçerli izin nesnesinin özdeş bir kopyasını oluşturur ve döndürür.

Demand()

Çağrı yığınında daha yüksek olan tüm arayanlara geçerli örnek tarafından belirtilen izin verilmediyse, çalışma zamanında bir SecurityException zorlar.

(Devralındığı yer: CodeAccessPermission)
Deny()
Geçersiz.
Geçersiz.

Çağrı yığınındaki daha yüksek çağıranların geçerli örnek tarafından belirtilen kaynağa erişmek için bu yöntemi çağıran kodu kullanmasını engeller.

(Devralındığı yer: CodeAccessPermission)
Equals(Object)

Belirtilen CodeAccessPermission nesnenin geçerli CodeAccessPermissionöğesine eşit olup olmadığını belirler.

(Devralındığı yer: CodeAccessPermission)
FromXml(SecurityElement)

Xml kodlamasından belirtilen duruma sahip bir güvenlik nesnesini yeniden oluşturur.

GetHashCode()

Karma algoritmalarda ve karma tablo gibi veri yapılarında kullanıma uygun nesne için CodeAccessPermission bir karma kodu alır.

(Devralındığı yer: CodeAccessPermission)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
Intersect(IPermission)

Geçerli izin nesnesinin ve belirtilen izin nesnesinin kesişimini temsil eden yeni bir izin nesnesi döndürür.

IsSubsetOf(IPermission)

Geçerli izin nesnesinin belirtilen izin nesnesinin bir alt kümesi olup olmadığını gösteren bir değer döndürür.

IsUnrestricted()

İzin semantiği hakkında hiçbir bilgi olmadan iznin kısıtlanmamış olarak gösterilip gösterilemeyeceğini belirten bir değer döndürür.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
PermitOnly()

Çağrı yığınındaki daha yüksek çağıranların geçerli örnek tarafından belirtilen kaynak dışındaki tüm kaynaklara erişmek için bu yöntemi çağıran kodu kullanmasını engeller.

(Devralındığı yer: CodeAccessPermission)
ToString()

Geçerli izin nesnesinin dize gösterimini oluşturur ve döndürür.

(Devralındığı yer: CodeAccessPermission)
ToXml()

Güvenlik nesnesinin ve geçerli durumunun XML kodlamasını oluşturur.

Union(IPermission)

Geçerli ve belirtilen izin nesnelerinin birleşimi olan yeni bir izin nesnesi döndürür.

Şunlara uygulanır

Ayrıca bkz.