MessageQueuePermission Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Umożliwia kontrolę nad uprawnieniami dostępu do kodu na potrzeby obsługi komunikatów.
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
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
Poniższy przykład kodu tworzy kilka wystąpień MessageQueuePermission obiektu i demonstruje użycie PermissionEntries właściwości .
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() |
Inicjuje nowe wystąpienie klasy MessageQueuePermission. |
MessageQueuePermission(MessageQueuePermissionAccess, String) |
Inicjuje MessageQueuePermission nowe wystąpienie klasy z określonymi poziomami dostępu i ścieżką kolejki. |
MessageQueuePermission(MessageQueuePermissionAccess, String, String, String) |
Inicjuje MessageQueuePermission nowe wystąpienie klasy z określonymi poziomami dostępu, komputerem do użycia, opisem kolejki i kategorią kolejki. |
MessageQueuePermission(MessageQueuePermissionEntry[]) |
Inicjuje MessageQueuePermission nowe wystąpienie klasy z określonymi wpisami poziomu dostępu uprawnień. |
MessageQueuePermission(PermissionState) |
Inicjuje MessageQueuePermission nowe wystąpienie klasy o określonym stanie uprawnień. |
Właściwości
PermissionEntries |
Pobiera kolekcję wpisów uprawnień dla tego żądania uprawnień. |
Metody
Assert() |
Deklaruje, że kod wywołujący może uzyskać dostęp do zasobu chronionego przez żądanie uprawnień za pośrednictwem kodu, który wywołuje tę metodę, nawet jeśli obiekty wywołujące wyższe w stosie nie otrzymały uprawnień dostępu do zasobu. Za pomocą polecenia Assert() można tworzyć problemy z zabezpieczeniami. (Odziedziczone po CodeAccessPermission) |
Copy() |
Tworzy i zwraca identyczną kopię bieżącego obiektu uprawnień. |
Demand() |
Wymusza w SecurityException czasie wykonywania, jeśli wszystkie elementy wywołujące wyższe w stosie wywołań nie otrzymały uprawnienia określonego przez bieżące wystąpienie. (Odziedziczone po CodeAccessPermission) |
Deny() |
Przestarzałe.
Przestarzałe.
Zapobiega wywoływaniom wyższym w stosie wywołań przy użyciu kodu, który wywołuje tę metodę w celu uzyskania dostępu do zasobu określonego przez bieżące wystąpienie. (Odziedziczone po CodeAccessPermission) |
Equals(Object) |
Określa, czy określony CodeAccessPermission obiekt jest równy bieżącemu CodeAccessPermission. (Odziedziczone po CodeAccessPermission) |
FromXml(SecurityElement) |
Rekonstruuje obiekt zabezpieczeń o określonym stanie z kodowania XML. |
GetHashCode() |
Pobiera kod skrótu CodeAccessPermission dla obiektu, który jest odpowiedni do użycia w algorytmach tworzenia skrótów i strukturach danych, takich jak tabela skrótów. (Odziedziczone po CodeAccessPermission) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
Intersect(IPermission) |
Zwraca nowy obiekt uprawnień reprezentujący przecięcie bieżącego obiektu uprawnień i określony obiekt uprawnień. |
IsSubsetOf(IPermission) |
Zwraca wartość wskazującą, czy bieżący obiekt uprawnień jest podzbiorem określonego obiektu uprawnień. |
IsUnrestricted() |
Zwraca wartość wskazującą, czy uprawnienie może być reprezentowane jako nieograniczone bez znajomości semantyki uprawnień. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
PermitOnly() |
Zapobiega wywoływaniom wyższym w stosie wywołań przy użyciu kodu, który wywołuje tę metodę w celu uzyskania dostępu do wszystkich zasobów z wyjątkiem zasobu określonego przez bieżące wystąpienie. (Odziedziczone po CodeAccessPermission) |
ToString() |
Tworzy i zwraca ciąg reprezentujący bieżący obiekt uprawnień. (Odziedziczone po CodeAccessPermission) |
ToXml() |
Tworzy kodowanie XML obiektu zabezpieczeń i jego bieżący stan. |
Union(IPermission) |
Zwraca nowy obiekt uprawnień, który jest połączeniem bieżących i określonych obiektów uprawnień. |