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


Основные понятия диспетчера общих свойств COM+

В COM+ общее временное состояние для объектов управляется с помощью диспетчера общих свойств (SPM). SPM — это диспенсер ресурсов, который можно использовать для совместного использования состояния между несколькими объектами в процессе сервера.

Глобальные переменные в распределенной среде нельзя использовать из-за проблем с параллелизмом и конфликтом имен. Диспетчер общих свойств устраняет столкновения имен, предоставляя группы общих свойств, которые устанавливают уникальные пространства имен для общих свойств, которые они содержат. SPM также реализует блокировки и семафоры для защиты общих свойств от одновременного доступа, что может привести к потере обновлений и выходу свойств в непредсказуемом состоянии.

Примечание.

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

 

Общие свойства, хранящиеся в SPM, доступны только объектам, работающим в том же процессе. Это означает, что объекты, которые будут использовать SPM для хранения значений и которые должны иметь доступ к этим значениям, должны быть установлены в рамках одного приложения COM+. Системные администраторы могут перемещать классы COM+ из одного пакета в другой после развертывания приложения COM+. Если вы используете несколько объектов совместного использования через SPM, необходимо четко документировать, что они должны быть установлены в одном приложении COM+.

Также важно, чтобы свойства общего доступа к компонентам имели один и тот же атрибут активации. Если два компонента в одном пакете имеют разные атрибуты активации, они обычно не смогут совместно использовать свойства. Например, если один компонент настроен на выполнение в клиентском процессе, а другой настроен на выполнение в серверном процессе, их объекты обычно выполняются в разных процессах, даже если они в одном пакете.

Всегда следует создавать экземпляры объектов SharedPropertyGroupManager, SharedPropertyGroup и SharedProperty из компонентов COM+ вместо базового клиента. Если базовый клиент создает группы и свойства общих свойств, общие свойства находятся в процессе базового клиента, а не в серверном процессе. Это означает, что объекты COM+ не могут совместно использовать свойства, если объекты также не выполняются в клиентском процессе (что обычно не является хорошей идеей).

Диспетчер общих свойств COM+

Группы общих свойств