System.Messaging Пространство имен

Пространство имен System.Messaging предоставляет классы, позволяющие подключаться к очередям сообщений в сети, контролировать их, выполнять администрирование очередей, а также принимать, передавать и считывать сообщения. The System.Messaging namespace provides classes that allow you to connect to, monitor, and administer message queues on the network and send, receive, or peek messages.

Классы

AccessControlEntry

Задает права доступа для доверенного лица (пользователя, группы или компьютера) на выполнение зависящих от приложения реализаций общих задач.Specifies access rights for a trustee (user, group, or computer) to perform application-specific implementations of common tasks.

AccessControlList

Содержит список элементов управления доступом, определяющих права доступа для одного или нескольких доверенных лиц.Contains a list of access control entries, specifying access rights for one or more trustees.

ActiveXMessageFormatter

Сериализует элементарные типы данных и другие объекты в текст сообщений Message Queuing или десериализует эти сообщения, используя формат, совместимый с MSMQ ActiveX Component.Serializes or deserializes primitive data types and other objects to or from the body of a Message Queuing message, using a format that is compatible with the MSMQ ActiveX Component.

BinaryMessageFormatter

Сериализует или десериализует объект или весь граф подключенных объектов, помещая их в текст сообщения службы Message Queuing или извлекая из текста сообщения службы Message Queuing с использованием двоичного формата.Serializes or deserializes an object, or an entire graph of connected objects, to or from the body of a Message Queuing message, using a binary format.

Cursor

Объект Cursor используется для сохранения определенного положения в объекте MessageQueue при чтении сообщений очереди.A Cursor is used to maintain a specific location in a MessageQueue when reading the queue's messages.

DefaultPropertiesToSend

Задает значения свойств по умолчанию, которые будут использоваться при передаче в очередь сообщений объектов, отличающихся от экземпляра Message.Specifies the default property values that will be used when sending objects other than Message instances to a message queue.

Message

Предоставляет доступ к свойствам, необходимым для определения сообщения службы MSMQ.Provides access to the properties needed to define a Message Queuing message.

MessageEnumerator

Предоставляет курсор, перемещающийся только в прямом направлении, для перечисления сообщений в очереди сообщений.Provides a forward-only cursor to enumerate through messages in a message queue.

MessagePropertyFilter

Контролирует и выбирает свойства, извлекаемые при считывании и приеме сообщений из очереди сообщений.Controls and selects the properties that are retrieved when peeking or receiving messages from a message queue.

MessageQueue

Предоставляет доступ к очереди на сервере MSMQ.Provides access to a queue on a Message Queuing server.

MessageQueueAccessControlEntry

Задает права доступа для доверенного лица (пользователя, группы или компьютера) на выполнение задач Message Queuing.Specifies access rights for a trustee (user, group, or computer) to perform Message Queuing tasks.

MessageQueueCriteria

Фильтрует очереди сообщений при выполнении запроса с использованием метода MessageQueue класса GetPublicQueues().Filters message queues when performing a query using the MessageQueue class's GetPublicQueues() method.

MessageQueueEnumerator

Предоставляет курсор, перемещающийся только в прямом направлении, для перечисления сообщений в очереди сообщений.Provides a forward-only cursor to enumerate through messages in a message queue.

MessageQueueException

Исключение, возникающее, если происходит внутренняя ошибка в очереди сообщений (Майкрософт).The exception that is thrown if a Microsoft Message Queuing internal error occurs.

MessageQueueInstaller

Позволяет установить и настроить очередь, требующуюся для работы приложения.Allows you to install and configure a queue that your application needs in order to run. Этот класс вызывается программой установки, например служебной программой InstallUtil.exe, при установке MessageQueue.This class is called by the installation utility, for example, InstallUtil.exe, when installing a MessageQueue.

MessageQueuePermission

Позволяет контролировать разрешения на доступ к коду для обмена сообщениями.Allows control of code access permissions for messaging.

MessageQueuePermissionAttribute

Разрешает декларативные проверки разрешений MessageQueue.Allows declarative MessageQueue permission checks.

MessageQueuePermissionEntry

Определяет наименьшую единицу разрешения управления доступом для кода, заданную для обмена сообщениями.Defines the smallest unit of a code access security permission set for messaging.

MessageQueuePermissionEntryCollection

Содержит строго типизированную коллекцию объектов MessageQueuePermissionEntry.Contains a strongly typed collection of MessageQueuePermissionEntry objects.

MessageQueueTransaction

Обеспечивает внутреннюю транзакцию службы Message Queuing.Provides a Message Queuing internal transaction.

MessagingDescriptionAttribute

Задает описание для свойства или события.Specifies a description for a property or event.

PeekCompletedEventArgs

Предоставляет данные для события PeekCompleted.Provides data for the PeekCompleted event. Когда асинхронная операция считывания вызывает обработчик событий, экземпляр этого класса передается в обработчик.When your asynchronous peek operation calls an event handler, an instance of this class is passed to the handler.

ReceiveCompletedEventArgs

Предоставляет данные для события ReceiveCompleted.Provides data for the ReceiveCompleted event. Когда асинхронная операция получения вызывает обработчик событий, экземпляр этого класса передается в обработчик.When your asynchronous receive operation calls an event handler, an instance of this class is passed to the handler.

SecurityContext

Представляет контекст безопасности для сообщения в очереди.Represents the security context for a message in a queue.

Trustee

Задает учетную запись пользователя, учетную запись группы или сеанс входа в систему, к которым применим элемент контроля доступа.Specifies a user account, group account, or logon session to which an access control entry applies.

XmlMessageFormatter

Сериализует объекты в текст сообщения или десериализует текст сообщения в объекты, используя для этого формат XML, основанный на определении схемы XSD.Serializes and deserializes objects to or from the body of a message, using the XML format based on the XSD schema definition.

Интерфейсы

IMessageFormatter

Сериализует объекты в текст сообщения Message Queuing или десериализует объекты из этого текста.Serializes or deserializes objects from the body of a Message Queuing message.

Перечисления

AccessControlEntryType

Указывает, следует ли разрешить, отклонить выдачу разрешения или отозвать права доступа для доверенного лица.Specifies whether to allow, deny, or revoke access rights for a trustee.

AcknowledgeTypes

Указывает типы подтверждающих сообщений, которые Message Queuing возвращает в отправляющее приложение.Specifies the types of acknowledgment message that Message Queuing returns to the sending application.

Acknowledgment

Указывает результат предпринятой попытки доставки сообщения.Specifies the result of an attempted message delivery.

CryptographicProviderType

Задает поставщиков служб шифрования, доступных для проверки цифровых подписей.Specifies the cryptographic service providers available for validating digital signatures.

EncryptionAlgorithm

Описывает алгоритм, используемый для шифрования тела конфиденциального сообщения.Specifies the encryption algorithm used to encrypt the message body of a private message.

EncryptionRequired

Задает уровень конфиденциальности сообщений, принимаемых очередью.Specifies the privacy level of messages received by the queue.

GenericAccessRights

Использует формат доступа Windows 2000 и Windows NT для задания набора общих прав доступа, которые отображаются службой Message Queuing как на стандартные, так и на зависящие от объекта права доступа для чтения, записи и выполнения.Uses the Windows 2000 and Windows NT access format to specify a set of common access rights that Message Queuing maps to both standard and object-specific access rights for reading, writing, and executing.

HashAlgorithm

Задает алгоритм хэширования, используемый очередью сообщений при проверке подлинности сообщений.Specifies the hash algorithm used by Message Queuing when authenticating messages.

MessageLookupAction

Задает сообщение, считываемое или получаемое из очереди сообщений.Specifies a message to peek at or receive from a message queue.

MessagePriority

Задает приоритет, применяемый службой Message Queuing к сообщению на маршруте его прохождения до очереди и при занесении в очередь места назначения.Specifies the priority Message Queuing applies to a message while it is en route to a queue, and when inserting the message into the destination queue.

MessageQueueAccessRights

Задает набор зависящих от объекта прав доступа для операций, характерных для Message Queuing.Specifies a set of object-specific access rights for operations specific to Message Queuing.

MessageQueueErrorCode

Идентифицирует источник ошибки, возникшей в приложении Message Queuing и создавшей исключение MessageQueueException.Identifies the source of an error that occurred within the Message Queuing application and generated a MessageQueueException exception.

MessageQueuePermissionAccess

Определяет уровни доступа, используемые классами разрешений System.Messaging.Defines access levels used by System.Messaging permission classes.

MessageQueueTransactionStatus

Задает состояние внутренней транзакции Message Queuing.Specifies the state of an internal Message Queuing transaction.

MessageQueueTransactionType

Задает тип транзакции Message Queuing.Specifies the type of a Message Queuing transaction.

MessageType

Идентифицирует тип сообщения.Identifies the type of a message. Сообщение может быть обычным сообщением Message Queuing, положительным или отрицательным подтверждающим сообщением или сообщением-отчетом.A message can be a typical Message Queuing message, a positive (arrival and read) or negative (arrival and read) acknowledgment message, or a report message.

PeekAction

Показывает, следует ли считывать в очереди текущее сообщение или следующее сообщение.Indicates whether to peek the current message in a queue, or the next message.

QueueAccessMode

Задает режим доступа для объекта MessageQueue на момент его создания.Specifies the access mode for a MessageQueue at creation time.

StandardAccessRights

Задает набор стандартных прав доступа, соответствующих операциям, общим для большинства типов защищаемых объектов.Specifies a set of standard access rights that correspond to operations common to most types of securable objects.

TrusteeType

Задает тип доверенного лица.Specifies the type of a trustee.

Делегаты

PeekCompletedEventHandler

Представляет метод, обрабатывающий событие PeekCompleted объекта MessageQueue.Represents the method that will handle the PeekCompleted event of a MessageQueue.

ReceiveCompletedEventHandler

Представляет метод, обрабатывающий событие ReceiveCompleted объекта MessageQueue.Represents the method that will handle the ReceiveCompleted event of a MessageQueue.

Комментарии

Членами MessageQueue класса включают следующие методы для чтения и записи сообщений в очередь:Members of the MessageQueue class include the following methods for reading and writing messages to the queue:

  • Send Метод позволяет вашему приложению для записи сообщений в очередь.The Send method enables your application to write messages to the queue. Перегрузки метода позволяют указать, следует ли отправлять сообщения с помощью Message (который обеспечивает точный контроль над сведения, отправляемые вами) или любого другого управляемого объекта, включая классы, зависящие от приложения.Overloads of the method enable you to specify whether to send your message using a Message (which provides detailed control over the information you send) or any other managed object, including application-specific classes. Метод также поддерживает отправку сообщений как часть транзакции.The method also supports sending messages as part of a transaction.

  • Receive, ReceiveById, И ReceiveByCorrelationId методы предоставляют функциональные возможности для чтения сообщений из очереди.The Receive, ReceiveById, and ReceiveByCorrelationId methods provide functionality for reading messages from a queue. Как и Send метод, эти методы предоставляют перегрузки, которые поддерживают обработку транзакционной очереди.Like the Send method, these methods provide overloads that support transactional queue processing. Эти методы также предоставляют перегрузки с указанием времени ожидания.These methods also provide overloads with time-out.

    Выходные параметры, позволяющие обработка будет продолжена, если очередь пуста.Out parameters that enable processing to continue if the queue is empty. Так как эти методы являются примерами синхронной обработки, они прерывают текущий поток до получения сообщения, если не указать время ожидания.Because these methods are examples of synchronous processing, they interrupt the current thread until a message is available, unless you specify a time-out.

  • Peek Метод аналогичен методу Receive, но это не вызывает сообщение удалено из очереди, если она считывается.The Peek method is similar to Receive, but it does not cause a message to be removed from the queue when it is read. Так как Peek не изменяет содержимое очереди, существуют перегрузок для поддержки обработки транзакций.Because Peek does not change the queue contents, there are no overloads to support transactional processing. Тем не менее так как Peek, например Receive, синхронное чтение сообщений из очереди, перегруженных версий метода поддерживают Указание периода ожидания, чтобы не допустить без ограничения времени ожидания в потоке.However, because Peek, like Receive, reads messages synchronously from the queue, overloads of the method do support specifying a time-out in order to prevent the thread from waiting indefinitely.

  • BeginPeek, EndPeek(IAsyncResult), BeginReceive, И EndReceive(IAsyncResult) методы предоставляют способы асинхронного чтения сообщений из очереди.The BeginPeek, EndPeek(IAsyncResult), BeginReceive, and EndReceive(IAsyncResult) methods provide ways to asynchronously read messages from the queue. Они не прерывают текущего потока при ожидании поступления сообщения в очереди.They do not interrupt the current thread while waiting for a message to arrive in the queue.

Следующие методы класса MessageQueue предоставляют функциональные возможности для получения списка очередей по заданным критериям и определение существования конкретные очереди:The following methods of the MessageQueue class provide functionality for retrieving lists of queues by specified criteria and determining if specific queues exist:

Другие методы MessageQueue класс предоставляет следующие функциональные возможности:Other methods of the MessageQueue class provide the following functionality:

  • Создание и удаление очередей сообщений из очереди.Creating and deleting Message Queueing queues.

  • С помощью перечислителя сообщений для прохода по сообщениям в очереди.Using a message enumerator to step through the messages in a queue.

  • С помощью перечислителя очередей для выполнения итерации по очереди в системе.Using a queue enumerator for iterating through the queues on the system.

  • Настройка прав доступа на основе ACL.Setting ACL-based access rights.

  • Работа с кэшем подключений.Working with the connection cache.

Message Класс предоставляет детальный контроль над сведения, отправляемые вами в очередь, а объект используется при получении или считывании сообщений из очереди.The Message class provides detailed control over the information you send to a queue, and is the object used when receiving or peeking messages from a queue. Кроме текста сообщения, свойства Message включают параметры подтверждения, Выбор модуля форматирования, идентификация, данные проверки подлинности и шифрования, метки времени, указания об использовании трассировки, ведение журнала сервера и очереди недоставленных сообщений и данные транзакций.Besides the message body, the properties of the Message class include acknowledgment settings, formatter selection, identification, authentication and encryption information, timestamps, indications about using tracing, server journaling, and dead-letter queues, and transaction data.

MessageQueue Компонент связан со следующими тремя модулями форматирования, позволяющие выполнять сериализацию и десериализацию отправленные и полученные из очереди сообщения:The MessageQueue component is associated with the following three formatters, which enable you to serialize and deserialize messages sent and received from queues:

  • XmlMessageFormatter Обеспечивает слабосвязанные обмен сообщениями, позволяя независимое управление версиями сериализованных сообщений на клиенте и сервере.The XmlMessageFormatter provides loosely coupled messaging, enabling independent versioning of serialized types on the client and server.

  • ActiveXMessageFormatter Совместим с элементом управления COM, MSMQ.The ActiveXMessageFormatter is compatible with the MSMQ COM control. Он позволяет передавать типы, которые могут быть получены с помощью элемента управления и принимать типы, которые были отправлены с помощью элемента управления.It allows you to send types that can be received by the control and to receive types that were sent by the control.

  • BinaryMessageFormatter Быстрее, чем XmlMessageFormatter, но без преимуществ слабо связанного обмена сообщениями.The BinaryMessageFormatter provides a faster alternative to the XmlMessageFormatter, but without the benefit of loosely coupled messaging.

Другие классы в Messaging пространства имен поддерживают доступ к коду и безопасность на основе ACL, фильтрация Message свойства при чтении сообщений из очереди и использование транзакций при отправке и получении сообщений.Other classes in the Messaging namespace support code-access and ACL-based security, filtering Message properties when reading messages from a queue, and using transactions when sending and receiving messages.