MessageQueuePermission Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lehetővé teszi az üzenetküldéshez szükséges kódhozzáférési engedélyek vezérlését.
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
- Öröklődés
- Attribútumok
- Megvalósítás
Példák
Az alábbi példakód több példányt MessageQueuePermission hoz létre, és bemutatja a PermissionEntries tulajdonság használatát.
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());
}
}
}
Konstruktorok
| Name | Description |
|---|---|
| MessageQueuePermission() |
Inicializálja a MessageQueuePermission osztály új példányát. |
| MessageQueuePermission(MessageQueuePermissionAccess, String, String, String) |
Inicializálja az osztály új példányát a megadott hozzáférési szintekkel, a használni kívánt számítógéppel, az üzenetsor leírásával és az MessageQueuePermission üzenetsor kategóriájával. |
| MessageQueuePermission(MessageQueuePermissionAccess, String) |
Inicializálja az osztály új példányát a MessageQueuePermission megadott hozzáférési szintekkel és az üzenetsor elérési útjával. |
| MessageQueuePermission(MessageQueuePermissionEntry[]) |
Inicializálja az osztály új példányát MessageQueuePermission a megadott jogosultsági hozzáférési szintű bejegyzésekkel. |
| MessageQueuePermission(PermissionState) |
Inicializálja az osztály új példányát MessageQueuePermission a megadott engedélyállapottal. |
Tulajdonságok
| Name | Description |
|---|---|
| PermissionEntries |
Lekéri az engedélykérelmekhez tartozó engedélybejegyzések gyűjteményét. |
Metódusok
| Name | Description |
|---|---|
| Assert() |
Deklarálja, hogy a hívó kód az ezt a metódust meghívó kódon keresztül hozzáférhet az engedélyigény által védett erőforráshoz, még akkor is, ha a veremben magasabb szintű hívók nem kaptak engedélyt az erőforrás elérésére. A használat Assert() biztonsági problémákat okozhat. (Öröklődés forrása CodeAccessPermission) |
| Copy() |
Létrehozza és visszaadja az aktuális engedélyobjektum azonos másolatát. |
| Demand() |
SecurityException Futásidőben kényszerít, ha a hívásverem összes magasabb hívója nem kapta meg az aktuális példány által megadott engedélyt. (Öröklődés forrása CodeAccessPermission) |
| Deny() |
Elavult.
Elavult.
Megakadályozza, hogy a hívásverem magasabb hívói az ezt a metódust meghívó kódot használják az aktuális példány által megadott erőforrás eléréséhez. (Öröklődés forrása CodeAccessPermission) |
| Equals(Object) |
Meghatározza, hogy a megadott CodeAccessPermission objektum egyenlő-e az aktuális CodeAccessPermissionobjektummal. (Öröklődés forrása CodeAccessPermission) |
| FromXml(SecurityElement) |
Egy megadott állapotú biztonsági objektum rekonstruálása XML-kódolásból. |
| GetHashCode() |
Lekéri az CodeAccessPermission objektum kivonatkódját, amely alkalmas kivonatoló algoritmusokban és adatstruktúrákban, például kivonattáblákban való használatra. (Öröklődés forrása CodeAccessPermission) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| Intersect(IPermission) |
Egy új engedélyobjektumot ad vissza, amely az aktuális engedélyobjektum és a megadott engedélyobjektum metszetét jelöli. |
| IsSubsetOf(IPermission) |
Olyan értéket ad vissza, amely jelzi, hogy az aktuális engedélyobjektum a megadott engedélyobjektum részhalmaza-e. |
| IsUnrestricted() |
Olyan értéket ad vissza, amely azt jelzi, hogy az engedély korlátlanként jeleníthető-e meg az engedély szemantikájának ismerete nélkül. |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| PermitOnly() |
Megakadályozza, hogy a hívásverem magasabb hívói az ezt a metódust meghívó kódot használják az összes erőforrás eléréséhez, kivéve az aktuális példány által megadott erőforrást. (Öröklődés forrása CodeAccessPermission) |
| ToString() |
Létrehozza és visszaadja az aktuális engedélyobjektum sztringképét. (Öröklődés forrása CodeAccessPermission) |
| ToXml() |
Xml-kódolást hoz létre a biztonsági objektumról és annak aktuális állapotáról. |
| Union(IPermission) |
Egy új engedélyobjektumot ad vissza, amely az aktuális és a megadott engedélyobjektumok egyesítését adja vissza. |