COM+ Shared Property Manager-Konzepte

In COM+ wird der freigegebene vorübergehende Zustand für Objekte mithilfe des freigegebenen Eigenschaften-Managers (SPM) verwaltet. Der SPM ist ein Ressourcenspender, den Sie verwenden können, um den Zustand für mehrere Objekte innerhalb eines Serverprozesses freizugeben.

Sie können globale Variablen in einer verteilten Umgebung aufgrund von Parallelitäts- und Namenskonfliktproblemen nicht verwenden. Der Shared Property Manager beseitigt Namenskonflikte, indem freigegebene Eigenschaftengruppen bereitgestellt werden, die eindeutige Namespaces für die darin enthaltenen freigegebenen Eigenschaften einrichten. Der SPM implementiert auch Sperren und Semaphore, um freigegebene Eigenschaften vor dem gleichzeitigen Zugriff zu schützen, was zu verlorenen Updates führen und Eigenschaften in einem unvorhersehbaren Zustand belassen kann.

Hinweis

Der freigegebene vorübergehende Zustand ist im Arbeitsspeicher gespeicherte Zustandsinformationen, die Systemausfälle nicht überstehen. Die Informationen sind so konzipiert, dass sie von mehreren Objekten über Transaktionsgrenzen (aber nicht über Prozessgrenzen hinweg) freigegeben werden.

 

Freigegebene Eigenschaften, die im SPM gespeichert sind, sind nur für Objekte verfügbar, die im selben Prozess ausgeführt werden. Dies bedeutet, dass die Objekte, die den SPM zum Speichern von Werten verwenden und Zugriff auf diese Werte haben müssen, als Teil derselben COM+-Anwendung installiert werden müssen. Systemadministratoren können COM+-Klassen von einem Paket in ein anderes verschieben, nachdem Ihre COM+-Anwendung bereitgestellt wurde. Wenn Sie sich auf mehrere Objekte verlassen, die Eigenschaften über den SPM gemeinsam nutzen, sollten Sie klar dokumentieren, dass sie in derselben COM+-Anwendung installiert werden müssen.

Es ist auch wichtig, dass Komponenten, die Eigenschaften gemeinsam nutzen, über das gleiche Aktivierungsattribut verfügen. Wenn zwei Komponenten im selben Paket über unterschiedliche Aktivierungsattribute verfügen, können sie in der Regel keine Eigenschaften freigeben. Wenn beispielsweise eine Komponente für die Ausführung in einem Clientprozess und die andere für die Ausführung in einem Serverprozess konfiguriert ist, werden ihre Objekte in der Regel in unterschiedlichen Prozessen ausgeführt, obwohl sie sich im selben Paket befinden.

Sie sollten die Objekte SharedPropertyGroupManager, SharedPropertyGroup und SharedProperty immer aus COM+-Komponenten und nicht von einem Basisclient instanziieren. Wenn ein Basisclient freigegebene Eigenschaftengruppen und Eigenschaften erstellt, befinden sich die freigegebenen Eigenschaften innerhalb des Basisclientprozesses und nicht in einem Serverprozess. Dies bedeutet, dass die COM+-Objekte die Eigenschaften nicht gemeinsam nutzen können, es sei denn, die Objekte werden auch im Clientprozess ausgeführt (was in der Regel keine gute Idee ist).

COM+ Shared Property Manager

Freigegebene Eigenschaftengruppen