次の方法で共有


手動トランザクションの継承

コンテキストに BYOT トランザクションを持つオブジェクトが 2 つ目のオブジェクトを作成する場合、ダウンストリーム オブジェクトは BYOT トランザクションを継承できます (トランザクションを継承するよう構成されている場合)。 BYOT ゲートウェイを使用して作成された最初のオブジェクトは、トランザクションを "要求" または "サポート" するよう構成する必要があります。 アクティビティ内の後続のオブジェクトは、アプリケーション要件に基づいて構成できます。

自動トランザクションの場合、(呼び出しから戻る前に SetComplete を呼び出すことにより) ルート オブジェクトが準備ができていることが示されるまで、COM+ ランタイムはトランザクションのコミットを試みません。 "ルート" が COM+ ランタイム環境で実行されておらず、コミット セマンティクスがオブジェクトの有効期間に関連付けられていないため、BYOT トランザクションが (子オブジェクトの処理が完了していないという点で) 早期にコミットされる可能性がある点に注意する必要があります。 通常、ユーザーはトランザクションの同期境界に違反しないよう注意する必要があります。

それ以外の場合、COM+ コミット セマンティクスが適用されます。 COM+ は、同期境界内のオブジェクトが呼び出し中の間、トランザクションのコミットを試みません。 さらに、オブジェクトは DisableCommit を使用して一貫性を示すことができます。 DisableCommit を呼び出したオブジェクトの処理を含むトランザクションをコミットしようとした場合、トランザクションは中止されます。