System.Messaging 命名空间

提供具有以下功能的类:连接、监视和管理网络上的消息队列,以及发送、接收或查看消息。

AccessControlEntry

为受信者(用户、组或计算机)指定访问权限,以执行常规任务的应用程序特定的实现。

AccessControlList

包含一个访问控制项列表,这些项为一个或多个受信者指定访问权限。

ActiveXMessageFormatter

使用与 MSMQ ActiveX 组件兼容的格式,将基元数据类型和其他对象序列化成“消息队列”消息体或从“消息队列”消息体反序列化基元数据类型和其他对象。

BinaryMessageFormatter

使用二进制格式,将一个对象(或连接的对象的整个图形)序列化成“消息队列”消息体或从“消息队列”消息体反序列化一个对象。

Cursor

Cursor 用于在读取队列的消息时保持 MessageQueue 中的特定位置。

DefaultPropertiesToSend

指定在向消息队列发送 Message 实例以外的对象时所使用的默认属性值。

Message

提供对定义消息队列消息所需的属性的访问。

MessageEnumerator

提供一个只进游标,用于枚举消息队列中的消息。

MessagePropertyFilter

控制并选择从消息队列查看或接收消息时检索的属性。

MessageQueue

提供对“消息队列”服务器上的队列的访问。

MessageQueueAccessControlEntry

为受信者(用户、组或计算机)指定执行消息队列任务的访问权限。

MessageQueueCriteria

当执行查询时使用 MessageQueue 类的 GetPublicQueues() 方法筛选消息队列。

MessageQueueEnumerator

提供一个只进游标,用于枚举消息队列中的消息。

MessageQueueException

发生 Microsoft 消息队列内部错误时引发的异常。

MessageQueueInstaller

允许安装并配置应用程序运行所需的队列。 安装实用工具(例如 InstallUtil.exe)在安装 MessageQueue 时调用此类。

MessageQueuePermission

允许用于消息的代码访问权限的控制。

MessageQueuePermissionAttribute

允许进行声明 MessageQueue 权限检查。

MessageQueuePermissionEntry

为消息定义代码访问安全权限集的最小单位。

MessageQueuePermissionEntryCollection

包含 MessageQueuePermissionEntry 对象的强类型集合。

MessageQueueTransaction

提供消息队列内部事务。

MessagingDescriptionAttribute

指定属性或事件的说明。

PeekCompletedEventArgs

PeekCompleted 事件提供数据。 当异步查看操作调用事件处理程序时,此类的一个实例将被传递给该处理程序。

ReceiveCompletedEventArgs

ReceiveCompleted 事件提供数据。 当异步接收操作调用事件处理程序时,此类的一个实例将被传递给该处理程序。

SecurityContext

表示队列消息的安全上下文。

Trustee

指定要向其应用访问控制项的用户帐户、组帐户或登录会话。

XmlMessageFormatter

使用基于 XSD 架构定义的 XML 格式,将对象序列化和反序列化为消息体或从消息体序列化和反序列化对象。

接口

IMessageFormatter

从“消息队列”消息体序列化或反序列化对象。

枚举

AccessControlEntryType

指定是允许、拒绝还是撤消受信者的访问权限。

AcknowledgeTypes

指定消息队列返回到发送应用程序的确认消息类型。

Acknowledgment

指定尝试的消息传递的结果。

CryptographicProviderType

指定可用于验证数字签名的加密服务提供程序。

EncryptionAlgorithm

指定用于对私有消息的消息体进行加密的加密算法。

EncryptionRequired

指定队列接收的消息的隐私等级。

GenericAccessRights

使用 Windows 2000 和 Windows NT 访问格式指定一组公共访问权限,消息队列将这些权限映射为标准的和对象特定的读取、写入和执行访问权限。

HashAlgorithm

指定对消息进行身份验证时消息队列所用的哈希算法。

MessageLookupAction

指定要从消息队列中查看或接收的消息。

MessagePriority

指定消息队列在消息传递到队列的过程中应用于该消息的优先级,以及指定何时将消息插入目标队列。

MessageQueueAccessRights

为特定于消息队列的操作指定一组对象特定的访问权限。

MessageQueueErrorCode

标识在消息队列应用程序中发生的并生成 MessageQueueException 异常的错误源。

MessageQueuePermissionAccess

定义 System.Messaging 权限类使用的访问级别。

MessageQueueTransactionStatus

指定内部消息队列事务的状态。

MessageQueueTransactionType

指定消息队列事务的类型。

MessageType

标识消息的类型。 消息可以是典型消息队列消息、肯定(到达和读取)或否定(到达和读取)确认消息或报告消息。

PeekAction

指示是查看队列中的当前消息还是下一条消息。

QueueAccessMode

在创建时为 MessageQueue 指定访问模式。

StandardAccessRights

指定一组标准访问权限,这些权限与大多数安全对象类型所共有的操作相对应。

TrusteeType

指定受信者的类型。

委托

PeekCompletedEventHandler

表示将用来处理 PeekCompletedMessageQueue 事件的方法。

ReceiveCompletedEventHandler

表示将用来处理 ReceiveCompletedMessageQueue 事件的方法。

注解

类的成员 MessageQueue 包括用于读取和写入队列消息的以下方法:

  • 方法 Send 使应用程序能够将消息写入队列。 方法的重载使你能够指定是否使用 Message (发送消息,该 (提供对) 或任何其他托管对象(包括特定于应用程序的类)发送的信息的详细控制。 方法还支持将消息作为事务的一部分发送。

  • ReceiveReceiveByIdReceiveByCorrelationId 方法提供从队列读取消息的功能。 与 方法一 Send 样,这些方法提供支持事务队列处理的重载。 这些方法还提供具有超时的重载。

    如果队列为空,则支持继续处理的参数。 由于这些方法是同步处理的示例,因此除非指定超时,否则它们会中断当前线程,直到消息可用。

  • 方法 Peek 类似于 Receive,但它不会导致在读取消息时从队列中删除。 由于 Peek 不会更改队列内容,因此没有支持事务处理的重载。 但是,由于 Peek(如 Receive)从队列同步读取消息,因此 方法的重载支持指定超时以防止线程无限期等待。

  • BeginPeekEndPeek(IAsyncResult)BeginReceiveEndReceive(IAsyncResult) 方法提供了从队列中异步读取消息的方法。 在等待消息到达队列时,它们不会中断当前线程。

类的 MessageQueue 以下方法提供按指定条件检索队列列表并确定是否存在特定队列的功能:

类的其他方法 MessageQueue 提供以下功能:

  • 创建和删除消息队列。

  • 使用消息枚举器单步执行队列中的消息。

  • 使用队列枚举器循环访问系统上的队列。

  • 设置基于 ACL 的访问权限。

  • 使用连接缓存。

Message 提供对发送到队列的信息的详细控制,它是从队列接收或查看消息时使用的对象。 除了消息正文之外,类的属性 Message 还包括确认设置、格式化程序选择、标识、身份验证和加密信息、时间戳、有关使用跟踪的指示、服务器日记和死信队列以及事务数据。

MessageQueue 组件与以下三个格式化程序相关联,使你能够序列化和反序列化从队列发送和接收的消息:

命名空间中的其他 Messaging 类支持代码访问和基于 ACL 的安全性,在从队列中读取消息时筛选 Message 属性,并在发送和接收消息时使用事务。