MessageQueuePermissionAccess Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Definuje úrovně přístupu používané třídami System.Messaging oprávnění.
Tento výčet podporuje bitové kombinace hodnot jeho členů.
public enum class MessageQueuePermissionAccess
[System.Flags]
public enum MessageQueuePermissionAccess
[System.Flags]
[System.Serializable]
public enum MessageQueuePermissionAccess
[<System.Flags>]
type MessageQueuePermissionAccess =
[<System.Flags>]
[<System.Serializable>]
type MessageQueuePermissionAccess =
Public Enum MessageQueuePermissionAccess
- Dědičnost
- Atributy
Pole
Administer | 62 | Může MessageQueue se podívat na dostupné fronty, číst zprávy ve frontě a odesílat a přijímat zprávy. |
Browse | 2 | Může MessageQueue se podívat na fronty, které jsou k dispozici. |
None | 0 | Nemá MessageQueue žádná oprávnění. |
Peek | 10 | Může MessageQueue se podívat na dostupné fronty a číst zprávy ve frontě. |
Receive | 26 | Může MessageQueue se podívat na dostupné fronty, číst zprávy ve frontě a přijímat zprávy. |
Send | 6 | Může MessageQueue se podívat na fronty, které jsou k dispozici, a odesílat zprávy. |
Příklady
Následující příklad kódu používá MessageQueuePermissionAccess při vytváření nové instance objektu MessageQueuePermission.
#using <System.dll>
#using <System.Messaging.dll>
using namespace System;
using namespace System::Messaging;
// Creates a new queue.
void CreateQueue(String^ queuePath, bool transactional)
{
if (!MessageQueue::Exists(queuePath))
{
MessageQueue^ queue = MessageQueue::Create(queuePath, transactional);
queue->Close();
}
else
{
Console::WriteLine("{0} already exists.",queuePath);
}
}
// Demonstrates the use of MessageQueuePermissionAccess
void CreatePermission()
{
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermission.
MessageQueuePermission^ permission = gcnew MessageQueuePermission(
MessageQueuePermissionAccess::Receive, queue->MachineName,
queue->Label, queue->Category.ToString());
queue->Close();
}
int main()
{
try
{
// Create a non-transactional queue on the local computer.
CreateQueue(".\\exampleQueue", false);
// Demonstrate use of MessageQueuePermissionAccess.
CreatePermission();
}
catch (InvalidOperationException^)
{
Console::WriteLine("Please install Message Queuing.");
}
catch (MessageQueueException^ ex)
{
Console::WriteLine(ex->Message);
}
}
using System;
using System.Messaging;
public class MessageQueuePermissionAccessExample
{
public static void Main()
{
// Create a new instance of the class.
MessageQueuePermissionAccessExample example =
new MessageQueuePermissionAccessExample();
// Create a non-transactional queue on the local computer.
CreateQueue(".\\exampleQueue", false);
// Demonstrate use of MessageQueuePermissionAccess.
example.CreatePermission();
}
// 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 use of MessageQueuePermissionAccess
public void CreatePermission()
{
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
string machineName = queue.MachineName;
string label = queue.Label;
string category = queue.Category.ToString();
// Create a new instance of MessageQueuePermission.
MessageQueuePermission permission = new MessageQueuePermission(
MessageQueuePermissionAccess.Receive,
machineName,
label,
category);
}
}