プロパティの取得と設定 (コンポーネント サービス)

コレクション内の項目によって公開される特定のプロパティを読み取りまたは書き込む前に、次の手順を実行する必要があります。

  1. コレクションを取得します。
  2. COM+ カタログからデータを読み取るためのコレクションを設定します。
  3. COMAdminCatalogObject クラスから、コレクション内の特定の項目をオブジェクトで表して取得します。

これらの手順を示す例については、「COM+ コレクション階層内の移動」をご覧ください。

公開される特定のプロパティは、項目が表す内容によって異なることがあるためです。つまり、コンポーネントを表す項目のプロパティは、COM+ アプリケーションを表すプロパティとは異なります。 COMAdminCatalogObject で、単一の汎用プロパティである Value プロパティを使用して、これらのプロパティのいずれかを設定します。

Value プロパティを使用すると、項目によって公開される特定の名前付きプロパティを取得または設定したり、取得時に名前付きプロパティの値を返したり、設定時に名前と値を取得したりすることができます。

COMAdminCatalogCollection オブジェクトの SaveChanges メソッドを使用して変更を明示的に保存するまで、実際には変更は COM+ カタログに記録されません。 特定のコレクション内におけるすべての項目のすべてのプロパティに対する保留中の変更は、すべて一度に保存されます。 詳しくは、「変更の保存または破棄」をご覧ください。

加えた変更がすべて受け入れられるわけではありません。 COM+ カタログでは、適切な方法で構成できるよう、いくらかの一貫性ロジックが適用されます。 加えて、一部のプロパティを変更すると、同じ一貫性ロジックによって自動的に変更されることがあります。 変更を保存しようとすると、これらの効果が表示されます。

Note

COM+ カタログに対して別のライターと競合している可能性があります。 特定のコレクションに対する PopulateSaveChanges の呼び出しの間、カタログ内のどのデータもロックされません。 複数の関係者が特定のコレクション内の項目を同時に構成している可能性があり、変更を保存するときに競合する可能性があります。 つまり、COMAdmin オブジェクトを使用して何らかのプログラムを実行するか、ローカルまたはリモートでコンポーネント サービス管理ツールを使用して、他のユーザーがオブジェクトの設定を変更する可能性があります。 カタログにオブジェクトを書き込む際の一般的なルールとして、オブジェクトのすべてのプロパティが一度に書き込まれます。 つまり、最後のライターが優先されます。オブジェクトは、最後のライターが構成したとおりにカタログに正確に保存されます。

 

プロパティ間の相互依存関係

使用可能なプロパティの照会

変更の保存または破棄