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 возможности для получения списков очередей по заданным критериям и определения наличия определенных очередей:
GetPrivateQueuesByMachine(String) включает получение частных очередей на компьютере.
GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String)и GetPublicQueuesByMachine(String) предоставляют способы получения общедоступных очередей по общим критериям. Перегрузка GetPublicQueues предоставляет еще более подробные сведения о выборе очередей на основе ряда критериев поиска.
Другие методы MessageQueue класса предоставляют следующие функциональные возможности:
Создание и удаление очередей сообщений.
Использование перечислителя сообщений для пошагового просмотра сообщений в очереди.
Использование перечислителя очередей для перебора очередей в системе.
Настройка прав доступа на основе ACL.
Работа с кэшем подключений.
Класс Message обеспечивает подробный контроль над информацией, отправляемой в очередь, и является объектом, используемым при получении или просмотре сообщений из очереди. Помимо текста сообщения, к свойствам Message класса относятся параметры подтверждения, выбор модуля форматирования, идентификация, проверка подлинности и сведения о шифровании, метки времени, указания об использовании трассировки, ведение журнала сервера и очереди недоставленных сообщений, а также данные транзакций.
Компонент MessageQueue связан со следующими тремя модулями форматирования, которые позволяют сериализовать и десериализовать сообщения, отправленные и полученные из очередей:
обеспечивает XmlMessageFormatter слабосвязанный обмен сообщениями, обеспечивая независимое управление версиями сериализованных типов на клиенте и сервере.
ActiveXMessageFormatter совместим с элементом управления COM MSMQ. Он позволяет отправлять типы, которые могут быть получены элементом управления, и получать типы, отправленные элементом управления .
предоставляет BinaryMessageFormatter более быструю альтернативу XmlMessageFormatter, но без преимущества слабо связанного обмена сообщениями.
Другие классы в Messaging
пространстве имен поддерживают доступ к коду и безопасность на основе ACL, фильтрацию Message свойств при чтении сообщений из очереди и использование транзакций при отправке и получении сообщений.