MessageQueuePermission Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Permite controlo das permissões de acesso ao código para mensagens.
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
- Herança
- Atributos
- Implementações
Exemplos
O exemplo de código seguinte cria várias instâncias e MessageQueuePermission demonstra a utilização da PermissionEntries propriedade.
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());
}
}
}
Construtores
| Name | Description |
|---|---|
| MessageQueuePermission() |
Inicializa uma nova instância da MessageQueuePermission classe. |
| MessageQueuePermission(MessageQueuePermissionAccess, String, String, String) |
Inicializa uma nova instância da MessageQueuePermission classe com os níveis de acesso especificados, computador a usar, descrição da fila e categoria da fila. |
| MessageQueuePermission(MessageQueuePermissionAccess, String) |
Inicializa uma nova instância da MessageQueuePermission classe com os níveis de acesso especificados e o caminho da fila. |
| MessageQueuePermission(MessageQueuePermissionEntry[]) |
Inicializa uma nova instância da MessageQueuePermission classe com as entradas de nível de acesso de permissão especificados. |
| MessageQueuePermission(PermissionState) |
Inicializa uma nova instância da MessageQueuePermission classe com o estado de permissão especificado. |
Propriedades
| Name | Description |
|---|---|
| PermissionEntries |
Obtém a coleção de entradas de permissões para este pedido de permissões. |
Métodos
| Name | Description |
|---|---|
| Assert() |
Declara que o código de chamada pode aceder ao recurso protegido por uma exigência de permissão através do código que chama este método, mesmo que os chamadores mais acima na pilha não tenham recebido permissão para aceder ao recurso. Usar Assert() pode criar problemas de segurança. (Herdado de CodeAccessPermission) |
| Copy() |
Cria e devolve uma cópia idêntica do objeto de permissão atual. |
| Demand() |
Força a SecurityException em tempo de execução se todos os chamadores superiores na pilha de chamadas não tiverem recebido a permissão especificada pela instância atual. (Herdado de CodeAccessPermission) |
| Deny() |
Obsoleto.
Obsoleto.
Impede que os chamadores mais acima na pilha de chamadas usem o código que chama este método para aceder ao recurso especificado pela instância atual. (Herdado de CodeAccessPermission) |
| Equals(Object) |
Determina se o objeto especificado CodeAccessPermission é igual à corrente CodeAccessPermission. (Herdado de CodeAccessPermission) |
| FromXml(SecurityElement) |
Reconstrói um objeto de segurança com um estado especificado a partir de uma codificação XML. |
| GetHashCode() |
Obtém um código hash para o CodeAccessPermission objeto adequado para uso em algoritmos de hash e estruturas de dados, como uma tabela hash. (Herdado de CodeAccessPermission) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| Intersect(IPermission) |
Devolve um novo objeto de permissão que representa a interseção do objeto de permissão atual e do objeto de permissão especificado. |
| IsSubsetOf(IPermission) |
Devolve um valor que indica se o objeto de permissão atual é um subconjunto do objeto de permissão especificado. |
| IsUnrestricted() |
Devolve um valor que indica se a permissão pode ser representada como irrestrita sem qualquer conhecimento da semântica das permissões. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| PermitOnly() |
Impede que os chamadores mais acima na pilha de chamadas usem o código que chama este método para aceder a todos os recursos, exceto ao recurso especificado pela instância atual. (Herdado de CodeAccessPermission) |
| ToString() |
Cria e devolve uma representação em cadeia do objeto de permissão atual. (Herdado de CodeAccessPermission) |
| ToXml() |
Cria uma codificação XML do objeto de segurança e do seu estado atual. |
| Union(IPermission) |
Devolve um novo objeto de permissão que é a união dos objetos de permissão atuais e especificados. |