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


Очереди в Windows Communication Foundation

В разделах этого раздела рассматривается поддержка Windows Communication Foundation (WCF) для очередей. WCF обеспечивает поддержку очереди, используя очередь сообщений Майкрософт (ранее называемую MSMQ) транспортом и включает следующие сценарии:

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

  • Изоляция неисправностей. Приложения, которые отправляют или получают сообщения в очередь, могут работать в сбоях, не затрагивая друг друга. Например, если принимающее приложение прекращает работу из-за ошибки, отправляющее приложение может продолжать отправлять сообщения в очередь. Когда получатель снова работает, он может обрабатывать сообщения из очереди. Изоляция сбоев повышает общую надежность и доступность системы.

  • Распределение нагрузки. Приложения-отправители могут перегружать приложения-получатели сообщениями. Очереди могут управлять несогласованными скоростями производства и потребления сообщений, чтобы гарантировать, что получатель не перегружался.

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

Чтобы использовать функцию очередей в приложении WCF, можно использовать одну из стандартных привязок или создать пользовательскую привязку, если одна из стандартных привязок не соответствует вашим требованиям. Дополнительные сведения о соответствующих стандартных привязках и их выборе см. в статье "Практическое руководство. Обмен сообщениями с конечными точками WCF и приложениями очереди сообщений". Дополнительные сведения о создании пользовательских привязок см. в разделе "Пользовательские привязки".

В этом разделе

Обзор очередей
Общие сведения о концепциях очереди сообщений.

Очередность в WCF
Обзор поддержки очереди WCF.

Как: Обмениваться Очередными Сообщениями с Конечными Точками WCF
Объясняет, как использовать NetMsmqBinding класс для обмена данными между клиентом WCF и службой WCF.

Как выполнять обмен сообщениями с оконечными точками WCF и приложениями для работы с очередями сообщений
Объясняет, как использовать MsmqIntegrationBinding для обмена данными между приложениями WCF и приложениями очередей сообщений.

Группирование сообщений в очереди в сеансе
Объясняет, как группировать сообщения в очереди, чтобы упростить обработку сообщений с помощью одного принимающего приложения.

Пакетная обработка сообщений в транзакции
Описывает, как объединять пакетные сообщения в транзакции.

Использование очередей Dead-Letter для обработки сбоев передачи сообщений
Объясняет, как обрабатывать сбои передачи сообщений и доставки с помощью очередей недоставленных писем и как обрабатывать сообщения из очереди недоставленных писем.

Обработка "отравленных сообщений"
Объясняет, как обрабатывать подозрительные сообщения (сообщения, превышающие максимальное количество попыток доставки в принимающее приложение).

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

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

Устранение неполадок с сообщениями в очереди
Объясняет, как устранять распространенные проблемы очереди.

Лучшие практики для коммуникации в очереди
Описание рекомендаций по использованию обмена данными в очереди WCF.