この特集のトップページへ
>
Chapter 5:ビジネスロジック層の構築
5.4.1 トランザクション機能の設定
●[サポート]
[サポート]という設定は,呼び出されたときにトランザクション範囲があれば,そのトランザクション範囲内に配置されるが,トランザクション範囲がなければ,自らトランザクション範囲は作らず,トランザクションを使わずに実行するという意味である(Fig.5-20)。このオプションは,トランザクションを使っても使わなくてもどちらでもよいCOMコンポーネントに対して設定する。その時点でトランザクション範囲内で動作しているのか,それともトランザクション範囲外で動作しているのかは,ObjectContextオブジェクトのIsInTransactionメソッドで調べることができる。そのため,トランザクション範囲の有無によってプログラム側で動作を変えることもできる。
Fig.5-20 サポート

以上で示したトランザクションの設定についてまとめて表にすると,Table 5-5のようになる。
Table 5-5 トランザクションの設定
| 選択肢 | トランザクション範囲がないとき | トランザクション範囲がすでにあるとき |
| 使用不可 | 不定(COM+はトランザクションについて関与しないので,COMコンポーネントやそれを利用するCOMクライアントの実装に依存) | |
| 未サポート | トランザクション範囲を作らない | |
| サポート | トランザクション範囲を作らない | そのトランザクション範囲に参加 |
| 必要 | トランザクション範囲を作る | そのトランザクション範囲に参加 |
| 新しく必要 | トランザクション範囲を作る | |
トランザクションの設定を[サポート][必要][新しく必要]のいずれかにした場合,COMコンポーネントは必ずジャストインタイムアクティベータをサポートしなければならない。| Chapter 5-1 16/23 |
