MessageQueuePermission 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
메시징에 대한 코드 액세스 권한 제어를 허용합니다.
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
- 상속
- 특성
- 구현
예제
다음 코드의 여러 인스턴스를 만듭니다 MessageQueuePermission 의 사용법을 설명 하 고는 PermissionEntries 속성입니다.
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());
}
}
}
생성자
MessageQueuePermission() |
MessageQueuePermission 클래스의 새 인스턴스를 초기화합니다. |
MessageQueuePermission(MessageQueuePermissionAccess, String) |
지정된 액세스 수준과 큐 경로를 사용하여 MessageQueuePermission 클래스의 새 인스턴스를 초기화합니다. |
MessageQueuePermission(MessageQueuePermissionAccess, String, String, String) |
지정된 액세스 수준, 사용할 컴퓨터, 큐 설명 및 큐 범주를 사용하여 MessageQueuePermission 클래스의 새 인스턴스를 초기화합니다. |
MessageQueuePermission(MessageQueuePermissionEntry[]) |
지정된 권한 액세스 수준 항목을 사용하여 MessageQueuePermission 클래스의 새 인스턴스를 초기화합니다. |
MessageQueuePermission(PermissionState) |
지정된 사용 권한 상태를 사용하여 MessageQueuePermission 클래스의 새 인스턴스를 초기화합니다. |
속성
PermissionEntries |
이 사용 권한 요청에 대한 사용 권한 항목의 컬렉션을 가져옵니다. |
메서드
Assert() |
스택의 상위 호출자에게 리소스에 액세스할 수 있는 권한이 부여되지 않더라도 호출 코드가 이 메서드를 호출하는 코드를 통해 사용 권한 요구로 보호되는 리소스에 액세스할 수 있음을 선언합니다. Assert()를 사용하면 보안 문제가 발생할 수 있습니다. (다음에서 상속됨 CodeAccessPermission) |
Copy() |
현재 권한 개체의 동일한 복사본을 만들어 반환합니다. |
Demand() |
현재 인스턴스에서 지정한 사용 권한이 호출 스택의 일부 상위 호출자에만 부여된 경우 런타임에 SecurityException을 강제로 발생시킵니다. (다음에서 상속됨 CodeAccessPermission) |
Deny() |
사용되지 않음.
사용되지 않음.
호출 스택의 상위 호출자가 이 메서드를 호출하는 코드를 통해 현재 인스턴스에서 지정한 리소스에 액세스하지 못하게 합니다. (다음에서 상속됨 CodeAccessPermission) |
Equals(Object) |
지정한 CodeAccessPermission 개체가 현재 CodeAccessPermission과 같은지 여부를 확인합니다. (다음에서 상속됨 CodeAccessPermission) |
FromXml(SecurityElement) |
XML 인코딩의 지정된 상태를 사용하여 보안 개체를 다시 만듭니다. |
GetHashCode() |
해시 알고리즘과 해시 테이블 같은 데이터 구조에 사용하기 적합한 CodeAccessPermission 개체에 대한 해시 코드를 가져옵니다. (다음에서 상속됨 CodeAccessPermission) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
Intersect(IPermission) |
현재 사용 권한 개체와 지정된 사용 권한 개체의 교집합에 해당하는 새 사용 권한 개체를 반환합니다. |
IsSubsetOf(IPermission) |
현재 사용 권한 개체가 지정된 사용 권한 개체의 하위 집합인지 여부를 나타내는 값을 반환합니다. |
IsUnrestricted() |
사용 권한을 사용 권한 구문에 대한 정보 없이 무제한으로 나타낼 수 있는지 여부를 나타내는 값을 반환합니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
PermitOnly() |
호출 스택의 상위 호출자가 이 메서드를 호출하는 코드를 통해 현재 인스턴스에서 지정한 리소스를 제외한 모든 리소스에 액세스할 수 없게 합니다. (다음에서 상속됨 CodeAccessPermission) |
ToString() |
현재 권한 개체의 문자열 표현을 만들고 반환합니다. (다음에서 상속됨 CodeAccessPermission) |
ToXml() |
보안 개체 및 현재 상태의 XML 인코딩을 만듭니다. |
Union(IPermission) |
현재 사용 권한 개체와 지정된 사용 권한 개체의 합집합에 해당하는 새 사용 권한 개체를 반환합니다. |
적용 대상
추가 정보
.NET