MessageQueuePermissionAccess 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义 System.Messaging 权限类使用的访问级别。
此枚举支持其成员值的按位组合。
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
- 继承
- 属性
字段
Administer | 62 | MessageQueue 可以查看可用的队列、读取队列中的消息并发送和接收消息。 |
Browse | 2 | MessageQueue 可以查看可用的队列。 |
None | 0 | MessageQueue 没有权限。 |
Peek | 10 | MessageQueue 可以查看可用的队列并读取队列中的消息。 |
Receive | 26 | MessageQueue 可以查看可用的队列、读取队列中的消息并接收消息。 |
Send | 6 | MessageQueue 可以查看可用的队列并发送消息。 |
示例
下面的代码示例在创建新实例MessageQueuePermission时使用 MessageQueuePermissionAccess 。
#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);
}
}