Типы потоков диспенсера COM+

Вызовы в диспенсер ресурсов COM+ могут возникать в одном из следующих типов потоков:

Если диспенсер ресурсов не является COM-объектом, он должен в любое время обрабатывать вызовы, поступающие из любого потока. Если диспенсер ресурсов является COM-объектом, объект COM должен быть зарегистрирован в модели потоков обоих. Это позволяет потокам STA или MTA создавать и использовать диспенсер ресурсов без коммутатора потоков.

Если диспенсер ресурсов создает и использует другой COM-объект (например, диспетчер ресурсов вне процесса), то диспенсер ресурсов может потребоваться сохранить несколько прокси-серверов к этому другому com-объекту и убедиться, что вызовы к объекту выполняются с помощью соответствующего прокси-сервера для вызывающего потока. Когда диспенсер ресурсов создает этот объект, он маршалирует и сохраняет ссылку. Перед повторной вызовом объекта он должен отменить маршал, чтобы создать прокси-сервер для вызывающего потока.

Это может быть более эффективным для кэширования этих прокси-серверов для каждого потока, сохраняя карту от идентификатора потока к указателю прокси-сервера. Эта карта расширяется по мере использования новых потоков в процессе.

Основные понятия диспенсера ресурсов COM+