MessageQueuePermissionEntry 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为消息定义代码访问安全权限集的最小单位。
public ref class MessageQueuePermissionEntry
[System.Serializable]
public class MessageQueuePermissionEntry
[<System.Serializable>]
type MessageQueuePermissionEntry = class
Public Class MessageQueuePermissionEntry
- 继承
-
MessageQueuePermissionEntry
- 属性
示例
以下代码示例演示了 MessageQueuePermissionEntry 的用法。
#using <System.Messaging.dll>
#using <System.dll>
using namespace System;
using namespace System::Messaging;
public ref class MessageQueuePermissionEntryExample
{
// Creates a new queue.
public:
static 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 following MessageQueuePermission constructor:
// public #ctor (MessageQueuePermissionAccess permissionAccess,
// String path)
public:
void CreateEntryShortCtor()
{
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
MessageQueuePermissionAccess::Receive,
queue->Path);
queue->Close();
}
// Demonstrates the following MessageQueuePermission constructor:
// public #ctor (MessageQueuePermissionAccess permissionAccess,
// String machineName, String label, String category)
public:
void CreateEntryLongCtor()
{
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
MessageQueuePermissionAccess::Receive,
queue->MachineName,
queue->Label,
queue->Category.ToString());
queue->Close();
}
public:
void CategoryExample()
{
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
MessageQueuePermissionAccess::Receive,
queue->MachineName,
queue->Label,
queue->Category.ToString());
// Display the value of the entry's Category property.
Console::WriteLine("Category: {0}", entry->Category->ToString());
queue->Close();
}
public:
void LabelExample()
{
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
MessageQueuePermissionAccess::Receive,
queue->MachineName,
queue->Label,
queue->Category.ToString());
// Display the value of the entry's Label property.
Console::WriteLine("Label: {0}", entry->Label);
queue->Close();
}
public:
void MachineNameExample()
{
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
MessageQueuePermissionAccess::Receive,
queue->MachineName,
queue->Label,
queue->Category.ToString());
// Display the value of the entry's MachineName property.
Console::WriteLine("MachineName: {0}", entry->MachineName);
queue->Close();
}
public:
void PathExample()
{
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
MessageQueuePermissionAccess::Receive,
queue->Path);
// Display the value of the entry's Path property.
Console::WriteLine("Path: {0}", entry->Path);
queue->Close();
}
public:
void PermissionAccessExample()
{
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry^ entry = gcnew MessageQueuePermissionEntry(
MessageQueuePermissionAccess::Receive,
queue->MachineName,
queue->Label,
queue->Category.ToString());
// Display the value of the entry's PermissionAccess property.
Console::WriteLine("PermissionAccess: {0}", entry->PermissionAccess);
queue->Close();
}
};
int main()
{
// Create a new instance of the class.
MessageQueuePermissionEntryExample^ example =
gcnew MessageQueuePermissionEntryExample();
try
{
// Create a non-transactional queue on the local computer.
// Note that the queue might not be immediately accessible, and
// therefore this example might throw an exception of type
// System.Messaging.MessageQueueException when trying to send a
// message to the newly created queue.
example->CreateQueue(".\\exampleQueue", false);
// Demonstrate MessageQueuePermissionEntry's constructors.
example->CreateEntryShortCtor();
example->CreateEntryLongCtor();
// Demonstrate MessageQueuePermissionEntry's properties.
example->CategoryExample();
example->LabelExample();
example->MachineNameExample();
example->PathExample();
example->PermissionAccessExample();
}
catch (InvalidOperationException^)
{
Console::WriteLine("Please install Message Queuing.");
}
catch (MessageQueueException^ ex)
{
// Write the exception information to the console.
Console::WriteLine(ex->Message);
}
}
using System;
using System.Messaging;
public class MessageQueuePermissionEntryExample
{
public static void Main()
{
// Create a new instance of the class.
MessageQueuePermissionEntryExample example =
new MessageQueuePermissionEntryExample();
// Create a non-transactional queue on the local computer.
CreateQueue(".\\exampleQueue", false);
// Demonstrate MessageQueuePermissionEntry's constructors.
example.CreateEntry1();
example.CreateEntry2();
// Demonstrate MessageQueuePermissionEntry's properties.
example.CategoryExample();
example.LabelExample();
example.MachineNameExample();
example.PathExample();
example.PermissionAccessExample();
}
// 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 (MessageQueuePermissionAccess permissionAccess,
// String path)
public void CreateEntry1()
{
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
MessageQueuePermissionAccess.Receive,
queue.Path);
}
// Demonstrates the following MessageQueuePermission constructor:
// public #ctor (MessageQueuePermissionAccess permissionAccess,
// String machineName, String label, String category)
public void CreateEntry2()
{
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
MessageQueuePermissionAccess.Receive,
queue.MachineName,
queue.Label,
queue.Category.ToString());
}
public void CategoryExample()
{
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
MessageQueuePermissionAccess.Receive,
queue.MachineName,
queue.Label,
queue.Category.ToString());
// Display the value of the entry's Category property.
Console.WriteLine("Category: {0}", entry.Category.ToString());
}
public void LabelExample()
{
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
MessageQueuePermissionAccess.Receive,
queue.MachineName,
queue.Label,
queue.Category.ToString());
// Display the value of the entry's Label property.
Console.WriteLine("Label: {0}", entry.Label);
}
public void MachineNameExample()
{
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
MessageQueuePermissionAccess.Receive,
queue.MachineName,
queue.Label,
queue.Category.ToString());
// Display the value of the entry's MachineName property.
Console.WriteLine("MachineName: {0}", entry.MachineName);
}
public void PathExample()
{
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
MessageQueuePermissionAccess.Receive,
queue.Path);
// Display the value of the entry's Path property.
Console.WriteLine("Path: {0}", entry.Path);
}
public void PermissionAccessExample()
{
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new instance of MessageQueuePermissionEntry.
MessageQueuePermissionEntry entry = new MessageQueuePermissionEntry(
MessageQueuePermissionAccess.Receive,
queue.MachineName,
queue.Label,
queue.Category.ToString());
// Display the value of the entry's PermissionAccess property.
Console.WriteLine("PermissionAccess: {0}", entry.PermissionAccess);
}
}
注解
有关详细信息,请参阅 代码访问安全性。
构造函数
MessageQueuePermissionEntry(MessageQueuePermissionAccess, String) |
通过指定的权限访问级别和队列的路径初始化 MessageQueuePermissionEntry 类的新实例。 |
MessageQueuePermissionEntry(MessageQueuePermissionAccess, String, String, String) |
通过指定的权限访问级别、队列所在的计算机的名称、队列说明和查询类别初始化 MessageQueuePermissionEntry 类的新实例。 |
属性
Category |
获取队列类别。 |
Label |
获取队列说明。 |
MachineName |
获取“消息队列”队列所在的计算机的名称。 |
Path |
获取队列的路径。 |
PermissionAccess |
获取在权限请求中使用的权限访问级别。 |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |