System.Messaging 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供具有以下功能的类:连接、监视和管理网络上的消息队列,以及发送、接收或查看消息。
类
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 |
表示将用来处理 PeekCompleted 的 MessageQueue 事件的方法。 |
ReceiveCompletedEventHandler |
表示将用来处理 ReceiveCompleted 的 MessageQueue 事件的方法。 |
注解
类的成员 MessageQueue 包括用于读取和写入队列消息的以下方法:
方法 Send 使应用程序能够将消息写入队列。 方法的重载使你能够指定是否使用 Message (发送消息,该 (提供对) 或任何其他托管对象(包括特定于应用程序的类)发送的信息的详细控制。 方法还支持将消息作为事务的一部分发送。
Receive、 ReceiveById和 ReceiveByCorrelationId 方法提供从队列读取消息的功能。 与 方法一 Send 样,这些方法提供支持事务队列处理的重载。 这些方法还提供具有超时的重载。
如果队列为空,则支持继续处理的参数。 由于这些方法是同步处理的示例,因此除非指定超时,否则它们会中断当前线程,直到消息可用。
方法 Peek 类似于 Receive,但它不会导致在读取消息时从队列中删除。 由于 Peek 不会更改队列内容,因此没有支持事务处理的重载。 但是,由于 Peek(如 Receive)从队列同步读取消息,因此 方法的重载支持指定超时以防止线程无限期等待。
BeginPeek、EndPeek(IAsyncResult)、 BeginReceive和 EndReceive(IAsyncResult) 方法提供了从队列中异步读取消息的方法。 在等待消息到达队列时,它们不会中断当前线程。
类的 MessageQueue 以下方法提供按指定条件检索队列列表并确定是否存在特定队列的功能:
GetPrivateQueuesByMachine(String) 启用在计算机上检索专用队列。
GetPublicQueuesByCategory(Guid)、 GetPublicQueuesByLabel(String)和 GetPublicQueuesByMachine(String) 提供了按通用条件检索公共队列的方法。 重 GetPublicQueues 载为根据多个搜索条件选择队列提供了更精细的详细信息。
类的其他方法 MessageQueue 提供以下功能:
创建和删除消息队列。
使用消息枚举器单步执行队列中的消息。
使用队列枚举器循环访问系统上的队列。
设置基于 ACL 的访问权限。
使用连接缓存。
类 Message 提供对发送到队列的信息的详细控制,它是从队列接收或查看消息时使用的对象。 除了消息正文之外,类的属性 Message 还包括确认设置、格式化程序选择、标识、身份验证和加密信息、时间戳、有关使用跟踪的指示、服务器日记和死信队列以及事务数据。
该 MessageQueue 组件与以下三个格式化程序相关联,使你能够序列化和反序列化从队列发送和接收的消息:
XmlMessageFormatter提供松散耦合的消息传送,从而在客户端和服务器上启用序列化类型的独立版本控制。
与 ActiveXMessageFormatter MSMQ COM 控件兼容。 它允许发送控件可以接收的类型,以及接收控件发送的类型。
提供了 BinaryMessageFormatter 一个更快的替代方法, XmlMessageFormatter但没有松散耦合消息传送的好处。
命名空间中的其他 Messaging
类支持代码访问和基于 ACL 的安全性,在从队列中读取消息时筛选 Message 属性,并在发送和接收消息时使用事务。