Поделиться через


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

Предоставляет классы, позволяющие подключаться к очередям сообщений в сети, контролировать их, выполнять администрирование очередей, а также принимать, передавать и быстро редактировать сообщения.

Классы

AccessControlEntry

Задает права доступа для доверенного лица (пользователя, группы или компьютера) на выполнение зависящих от приложения реализаций общих задач.

AccessControlList

Содержит список элементов управления доступом, определяющих права доступа для одного или нескольких доверенных лиц.

ActiveXMessageFormatter

Сериализует элементарные типы данных и другие объекты в текст сообщений Message Queuing или десериализует эти сообщения, используя формат, совместимый с MSMQ ActiveX Component.

BinaryMessageFormatter

Сериализует или десериализует объект или весь граф подключенных объектов, помещая их в текст сообщения службы Message Queuing или извлекая из текста сообщения службы Message Queuing с использованием двоичного формата.

Cursor

Объект Cursor используется для сохранения определенного положения в объекте MessageQueue при чтении сообщений очереди.

DefaultPropertiesToSend

Задает значения свойств по умолчанию, которые будут использоваться при передаче в очередь сообщений объектов, отличающихся от экземпляра Message.

Message

Предоставляет доступ к свойствам, необходимым для определения сообщения службы MSMQ.

MessageEnumerator

Предоставляет курсор последовательного доступа для перечисления сообщений в очереди сообщений.

MessagePropertyFilter

Контролирует и выбирает свойства, извлекаемые при считывании и приеме сообщений из очереди сообщений.

MessageQueue

Предоставляет доступ к очереди на сервере MSMQ.

MessageQueueAccessControlEntry

Задает права доступа для доверенного лица (пользователя, группы или компьютера) на выполнение задач Message Queuing.

MessageQueueCriteria

Фильтрует очереди сообщений при выполнении запроса с использованием метода MessageQueue класса GetPublicQueues().

MessageQueueEnumerator

Предоставляет курсор последовательного доступа для перечисления сообщений в очереди сообщений.

MessageQueueException

Исключение, возникающее, если происходит внутренняя ошибка в очереди сообщений (Майкрософт).

MessageQueueInstaller

Позволяет установить и настроить очередь, требующуюся для работы приложения. Этот класс вызывается программой установки, например служебной программой InstallUtil.exe, при установке MessageQueue.

MessageQueuePermission

Позволяет контролировать разрешения на доступ к коду для обмена сообщениями.

MessageQueuePermissionAttribute

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

MessageQueuePermissionEntry

Определяет наименьшую единицу разрешения управления доступом для кода, заданную для обмена сообщениями.

MessageQueuePermissionEntryCollection

Содержит строго типизированную коллекцию объектов MessageQueuePermissionEntry.

MessageQueueTransaction

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

MessagingDescriptionAttribute

Задает описание для свойства или события.

PeekCompletedEventArgs

Предоставляет данные для события PeekCompleted. Когда асинхронная операция считывания вызывает обработчик событий, экземпляр этого класса передается в обработчик.

ReceiveCompletedEventArgs

Предоставляет данные для события ReceiveCompleted. Когда асинхронная операция получения вызывает обработчик событий, экземпляр этого класса передается в обработчик.

SecurityContext

Представляет контекст безопасности для сообщения в очереди.

Trustee

Задает учетную запись пользователя, учетную запись группы или сеанс входа в систему, к которым применим элемент контроля доступа.

XmlMessageFormatter

Сериализует объекты в текст сообщения или десериализует текст сообщения в объекты, используя для этого формат XML, основанный на определении схемы XSD.

Интерфейсы

IMessageFormatter

Сериализует объекты в текст сообщения Message Queuing или десериализует объекты из этого текста.

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

AccessControlEntryType

Указывает, следует ли разрешить, отклонить выдачу разрешения или отозвать права доступа для доверенного лица.

AcknowledgeTypes

Указывает типы подтверждающих сообщений, которые Message Queuing возвращает в отправляющее приложение.

Acknowledgment

Указывает результат предпринятой попытки доставки сообщения.

CryptographicProviderType

Задает поставщиков служб шифрования, доступных для проверки цифровых подписей.

EncryptionAlgorithm

Описывает алгоритм, используемый для шифрования тела конфиденциального сообщения.

EncryptionRequired

Задает уровень конфиденциальности сообщений, принимаемых очередью.

GenericAccessRights

Использует формат доступа Windows 2000 и Windows NT для задания набора общих прав доступа, которые отображаются службой Message Queuing как на стандартные, так и на зависящие от объекта права доступа для чтения, записи и выполнения.

HashAlgorithm

Задает алгоритм хэширования, используемый очередью сообщений при проверке подлинности сообщений.

MessageLookupAction

Задает сообщение, считываемое или получаемое из очереди сообщений.

MessagePriority

Задает приоритет, применяемый службой Message Queuing к сообщению на маршруте его прохождения до очереди и при занесении в очередь места назначения.

MessageQueueAccessRights

Задает набор зависящих от объекта прав доступа для операций, характерных для Message Queuing.

MessageQueueErrorCode

Идентифицирует источник ошибки, возникшей в приложении Message Queuing и создавшей исключение MessageQueueException.

MessageQueuePermissionAccess

Определяет уровни доступа, используемые классами разрешений System.Messaging.

MessageQueueTransactionStatus

Задает состояние внутренней транзакции Message Queuing.

MessageQueueTransactionType

Задает тип транзакции Message Queuing.

MessageType

Идентифицирует тип сообщения. Сообщение может быть обычным сообщением Message Queuing, положительным или отрицательным подтверждающим сообщением или сообщением-отчетом.

PeekAction

Показывает, следует ли считывать в очереди текущее сообщение или следующее сообщение.

QueueAccessMode

Задает режим доступа для объекта MessageQueue на момент его создания.

StandardAccessRights

Задает набор стандартных прав доступа, соответствующих операциям, общим для большинства типов защищаемых объектов.

TrusteeType

Задает тип доверенного лица.

Делегаты

PeekCompletedEventHandler

Представляет метод, обрабатывающий событие PeekCompleted объекта MessageQueue.

ReceiveCompletedEventHandler

Представляет метод, обрабатывающий событие ReceiveCompleted объекта MessageQueue.

Комментарии

MessageQueue Члены класса включают следующие методы чтения и записи сообщений в очередь:

  • Метод Send позволяет приложению записывать сообщения в очередь. Перегрузки метода позволяют указать, следует ли отправлять сообщение с помощью (который обеспечивает подробный Message контроль над отправляемой информацией) или любого другого управляемого объекта, включая классы приложения. Метод также поддерживает отправку сообщений в рамках транзакции.

  • Методы Receive, ReceiveByIdи ReceiveByCorrelationId предоставляют функциональные возможности для чтения сообщений из очереди. Как и Send метод , эти методы предоставляют перегрузки, поддерживающие обработку транзакционных очередей. Эти методы также обеспечивают перегрузки с истечением времени ожидания.

    Параметры out, позволяющие продолжить обработку, если очередь пуста. Так как эти методы являются примерами синхронной обработки, они прерывают текущий поток до тех пор, пока не будет доступно сообщение, если не указано время ожидания.

  • Метод Peek аналогичен методу Receive, но он не приводит к удалению сообщения из очереди при его чтении. Так как Peek не изменяет содержимое очереди, нет перегрузок для поддержки обработки транзакций. Тем не менее, так как Peek, например Receive, синхронно считывает сообщения из очереди, перегрузки метода поддерживают указание времени ожидания, чтобы поток не ждал бесконечно.

  • Методы BeginPeek, EndPeek(IAsyncResult), BeginReceiveи EndReceive(IAsyncResult) предоставляют способы асинхронного чтения сообщений из очереди. Они не прерывают текущий поток во время ожидания поступления сообщения в очередь.

Следующие методы класса предоставляют функциональные MessageQueue возможности для получения списков очередей по заданным критериям и определения наличия определенных очередей:

Другие методы MessageQueue класса предоставляют следующие функциональные возможности:

  • Создание и удаление очередей сообщений.

  • Использование перечислителя сообщений для пошагового просмотра сообщений в очереди.

  • Использование перечислителя очередей для перебора очередей в системе.

  • Настройка прав доступа на основе ACL.

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

Класс Message обеспечивает подробный контроль над информацией, отправляемой в очередь, и является объектом, используемым при получении или просмотре сообщений из очереди. Помимо текста сообщения, к свойствам Message класса относятся параметры подтверждения, выбор модуля форматирования, идентификация, проверка подлинности и сведения о шифровании, метки времени, указания об использовании трассировки, ведение журнала сервера и очереди недоставленных сообщений, а также данные транзакций.

Компонент MessageQueue связан со следующими тремя модулями форматирования, которые позволяют сериализовать и десериализовать сообщения, отправленные и полученные из очередей:

  • обеспечивает XmlMessageFormatter слабосвязанный обмен сообщениями, обеспечивая независимое управление версиями сериализованных типов на клиенте и сервере.

  • ActiveXMessageFormatter совместим с элементом управления COM MSMQ. Он позволяет отправлять типы, которые могут быть получены элементом управления, и получать типы, отправленные элементом управления .

  • предоставляет BinaryMessageFormatter более быструю альтернативу XmlMessageFormatter, но без преимущества слабо связанного обмена сообщениями.

Другие классы в Messaging пространстве имен поддерживают доступ к коду и безопасность на основе ACL, фильтрацию Message свойств при чтении сообщений из очереди и использование транзакций при отправке и получении сообщений.