Sdílet prostřednictvím


Koncepty správce sdílených vlastností modelu COM+

V modelu COM+se sdílený přechodný stav pro objekty spravuje pomocí správce sdílených vlastností (SPM). SPM je zásobník prostředků, který můžete použít ke sdílení stavu mezi více objekty v rámci procesu serveru.

Globální proměnné nemůžete použít v distribuovaném prostředí kvůli problémům s souběžností a kolizí názvů. Správce sdílených vlastností eliminuje kolize názvů tím, že poskytuje skupiny sdílených vlastností, které vytvářejí jedinečné obory názvů pro sdílené vlastnosti, které obsahují. SPM také implementuje zámky a semafory, které pomáhají chránit sdílené vlastnosti před souběžným přístupem, což může vést ke ztrátě aktualizací a ponechání vlastností v nepředvídatelném stavu.

Poznámka

Sdílený přechodný stav je informace o stavu uchovávané v paměti, které nepřežijí selhání systému. Informace jsou navrženy tak, aby byly sdíleny více objekty napříč transakcemi (ale ne přes hranice procesu).

 

Sdílené vlastnosti uložené v SPM jsou k dispozici pouze pro objekty spuštěné ve stejném procesu. To znamená, že objekty, které budou používat SPM pro ukládání hodnot a které budou muset mít přístup k těmto hodnotám, musí být nainstalovány jako součást stejné aplikace MODELU COM+. Správci systému můžou po nasazení vaší COM+ aplikace přesunout třídy COM+ z jednoho balíčku do druhého. Pokud spoléháte na několik objektů sdílejících vlastnosti prostřednictvím SPM, měli byste jasně zdokumentovat, že musí být nainstalovány ve téže aplikaci COM+.

Je také důležité, aby komponenty sdílející vlastnosti měly stejný atribut aktivace. Pokud mají dvě komponenty ve stejném balíčku různé atributy aktivace, nebudou obecně moct sdílet vlastnosti. Pokud je například jedna komponenta nakonfigurovaná tak, aby běžela v procesu klienta a druhá je nakonfigurovaná tak, aby běžela v procesu serveru, jejich objekty se obvykle spouštějí v různých procesech, i když jsou ve stejném balíčku.

Vždy byste měli vytvořit instanci objektů SharedPropertyGroupManager, SharedPropertyGroupa SharedProperty z komponent COM+ místo základního klienta. Pokud základní klient vytvoří skupiny a vlastnosti, které jsou sdílené, pak jsou tyto sdílené vlastnosti uvnitř procesu základního klienta, nikoli v procesu serveru. To znamená, že objekty MODELU COM+ nemohou sdílet vlastnosti, pokud objekty nejsou spuštěné také v procesu klienta (což obecně není dobrý nápad).

Správce sdílených vlastností COM+

skupiny sdílených vlastností