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


Асинхронные моникеры

Архитектура OLE moniker предоставляет согласованную расширяемую модель программирования для работы с объектами Интернета, предоставляя методы синтаксического анализа имен, представляющих универсальные указатели ресурсов (URL-адреса) в виде печатных имен, а также поиск и привязку к объектам, представленным строками URL-адресов. (См. также URL Monikers.) Стандартные моникеры OLE (в частности, элементы, файлы и моникеры указателя), однако, являются недопустимыми для Интернета, так как они синхронны, возвращая указатель на объект или его хранилище только в такое время, как все данные доступны. В зависимости от объема скачиваемых данных привязка синхронно может связать пользовательский интерфейс клиента в течение длительных периодов.

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

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

Дополнительные сведения см. в следующих разделах:

URL-моникеры