Книга: C# для профессионалов. Том II
Очереди сообщений
Очереди сообщений
В ходе выполнения программы возникают специальные условия. Может отказать сервер базы данных или пользователь попытается, намеренно или случайно, отправить задание с отсоединенного терминала. Обычно разработчики предусматривают специальные меры предосторожности в прикладном коде, чтобы учитывать такие аномалии.
Служба очередей сообщений из COM+ позволяет разработчикам отказаться от кодирования ситуаций отсутствия соединения. Вкратце, служба очередей записывает вызовы методов от клиентских объектов к серверным объектам, которые недоступны, так что они могут быть отправлены назад серверному объекту, когда он снова будет доступен в сети. Клиентский код остается в полном неведении, что произошло что-то неординарное и что службы COM+ действовали в качестве посредника.
Как можно представить, очереди сообщений будут удобным средством при создании приложений, которые должны выполняться на машинах со связью и без связи. К тому же, очереди сообщений являются составной частью сервера BizTalk компании Microsoft — новой серверной программы, делающей возможным процесс перемещения данных внутри и между организациями. При установке Windows 2000 Server очереди сообщений являются одной из возможностей, которую можно установить или отбросить.
Несмотря на свои достоинства, очереди сообщений имеют также серьезные ограничения. Очевидно, что когда службы COM+ ставят сообщение в очередь к недоступному серверному объекту и возвращают управление клиенту, они не могут вернуть сложный ответ. По этой причине необходимо принимать в расчет возможность возникновения неподтвержденных ошибок при проектировании компонентов, которые используют очереди сообщений. Более того, нельзя использовать значения, возвращенные из компонентов очереди, для выполнения обработки. Если компоненты отключены, они не могут возвращать значения.
- 6.10. Ограничения, накладываемые на очереди сообщений
- Глава 14 Семафоры, совместно используемая память и очереди сообщений
- ГЛАВА 5 Очереди сообщений Posix
- ГЛАВА 6 Очереди сообщений System V
- Пример: очереди сообщений Posix и функция select
- Измерение полосы пропускания очереди сообщений Posix
- Отображение состояния очереди сообщений
- ЧАСТЬ 2 ОБМЕН СООБЩЕНИЯМИ
- Пересмотр функций клиента
- 8.3. Полезные команды
- Основы программирования в Linux
- msgsnd