この特集のトップページへ
Chapter 5:ビジネスロジック層の構築

head1.gif 5.6 共有プロパティ

 すでに説明したように,SetCompleteメソッドやSetAbortメソッドを呼び出すと,そのCOMオブジェクトは非アクティブ化され,次に何らかのメソッドを呼び出しても,COMオブジェクトは新しく実体化される(アクティブ化される)。そのため,それまでに保持していたプロパティ(COMオブジェクト内の変数)の値はクリアされてしまう。しかし実際には,非アクティブ化されたあとも,事前のプロパティの値を破棄することなく保持しておきたいこともある。そのような場合に利用するのが,共有プロパティである。

head2.gif 5.6.1 共有プロパティとは
 共有プロパティとは,COM+アプリケーションごとに用意された永続的でない簡単なデータベース機能である(Fig.5-57)。この機能を使うと,同じCOM+アプリケーションに属するCOMオブジェクト間でデータを受け渡すことができるようになる。ここで「永続的でない」という意味は,COM+のサービスを停止したり,サーバーをリブートしたりすると,その内容が消えてしまうということである。

Fig.5-57 共有プロパティ
fig5_57.gif

注意共有プロパティは,トランザクション機能とは同期しない。すなわち,トランザクションで動作しているCOMオブジェクトがアボートしたとしても,共有プロパティに書き込んだ値まではロールバックされない。Windows 2000の開発当初は,トランザクションに対応したTSPM(トランザクショナル共有プロパティマネージャ)と呼ばれる機能が提供される予定であったが,TSPMを提供するIMDB(In Memory DataBase)の実装が見送られたため,TSPMもサポートされないことになった。

prevpg.gif Chapter 5-2 10/16 nextpg.gif