MessageQueuePermissionAccess Enum
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.
Definierar åtkomstnivåer som används av behörighetsklasser System.Messaging .
Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.
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
- Arv
- Attribut
Fält
| Name | Värde | Description |
|---|---|---|
| None | 0 | Har MessageQueue inga behörigheter. |
| Browse | 2 | MessageQueue Kan titta på de köer som är tillgängliga. |
| Send | 6 | MessageQueue Kan titta på de köer som är tillgängliga och skicka meddelanden. |
| Peek | 10 | MessageQueue Kan titta på de köer som är tillgängliga och läsa meddelandena i kön. |
| Receive | 26 | MessageQueue Kan titta på de köer som är tillgängliga, läsa meddelandena i kön och ta emot meddelanden. |
| Administer | 62 | MessageQueue Kan titta på de köer som är tillgängliga, läsa meddelandena i kön och skicka och ta emot meddelanden. |
Exempel
I följande kodexempel används MessageQueuePermissionAccess för att skapa en ny instans av 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);
}
}