MessageQueuePermission Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillåter kontroll av kodåtkomstbehörigheter för meddelanden.
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
- Arv
- Attribut
- Implementeringar
Exempel
Följande kodexempel skapar flera instanser av MessageQueuePermission och visar användningen av PermissionEntries egenskapen.
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());
}
}
}
Konstruktorer
| Name | Description |
|---|---|
| MessageQueuePermission() |
Initierar en ny instans av MessageQueuePermission klassen. |
| MessageQueuePermission(MessageQueuePermissionAccess, String, String, String) |
Initierar en ny instans av MessageQueuePermission klassen med angivna åtkomstnivåer, dator som ska användas, köbeskrivning och kökategori. |
| MessageQueuePermission(MessageQueuePermissionAccess, String) |
Initierar en ny instans av MessageQueuePermission klassen med de angivna åtkomstnivåerna och sökvägen till kön. |
| MessageQueuePermission(MessageQueuePermissionEntry[]) |
Initierar en ny instans av MessageQueuePermission klassen med de angivna behörighetsposterna på åtkomstnivå. |
| MessageQueuePermission(PermissionState) |
Initierar en ny instans av MessageQueuePermission klassen med det angivna behörighetstillståndet. |
Egenskaper
| Name | Description |
|---|---|
| PermissionEntries |
Hämtar samlingen med behörighetsposter för den här behörighetsbegäran. |
Metoder
| Name | Description |
|---|---|
| Assert() |
Deklarerar att den anropande koden kan komma åt resursen som skyddas av ett behörighetskrav via koden som anropar den här metoden, även om anropare högre i stacken inte har beviljats behörighet att komma åt resursen. Att använda Assert() kan skapa säkerhetsproblem. (Ärvd från CodeAccessPermission) |
| Copy() |
Skapar och returnerar en identisk kopia av det aktuella behörighetsobjektet. |
| Demand() |
Tvingar fram en SecurityException vid körning om alla anropare högre i anropsstacken inte har beviljats den behörighet som anges av den aktuella instansen. (Ärvd från CodeAccessPermission) |
| Deny() |
Föråldrad.
Föråldrad.
Hindrar anropare högre i anropsstacken från att använda koden som anropar den här metoden för att komma åt resursen som anges av den aktuella instansen. (Ärvd från CodeAccessPermission) |
| Equals(Object) |
Avgör om det angivna CodeAccessPermission objektet är lika med det aktuella CodeAccessPermission. (Ärvd från CodeAccessPermission) |
| FromXml(SecurityElement) |
Rekonstruerar ett säkerhetsobjekt med ett angivet tillstånd från en XML-kodning. |
| GetHashCode() |
Hämtar en hash-kod för objektet CodeAccessPermission som är lämpligt för användning i hash-algoritmer och datastrukturer, till exempel en hash-tabell. (Ärvd från CodeAccessPermission) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| Intersect(IPermission) |
Returnerar ett nytt behörighetsobjekt som representerar skärningspunkten för det aktuella behörighetsobjektet och det angivna behörighetsobjektet. |
| IsSubsetOf(IPermission) |
Returnerar ett värde som anger om det aktuella behörighetsobjektet är en delmängd av det angivna behörighetsobjektet. |
| IsUnrestricted() |
Returnerar ett värde som anger om behörigheten kan representeras som obegränsad utan någon kunskap om behörighetssemantiken. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| PermitOnly() |
Hindrar anropare högre i anropsstacken från att använda koden som anropar den här metoden för att komma åt alla resurser förutom den resurs som anges av den aktuella instansen. (Ärvd från CodeAccessPermission) |
| ToString() |
Skapar och returnerar en strängrepresentation av det aktuella behörighetsobjektet. (Ärvd från CodeAccessPermission) |
| ToXml() |
Skapar en XML-kodning av säkerhetsobjektet och dess aktuella tillstånd. |
| Union(IPermission) |
Returnerar ett nytt behörighetsobjekt som är en union av de aktuella och angivna behörighetsobjekten. |