@TRANSACTION ディレクティブを使用して、スクリプトをトランザクションとして処理するように設定できます。スクリプトがトランザクションとして処理される場合、コンポーネント サービスはトランザクションを作成してリソースの更新を調整します。
<% @TRANSACTION = value %>
値 | 意味 |
Required | スクリプトはトランザクションを開始します。 |
Requires_New | スクリプトはトランザクションを開始します。 |
Supported | スクリプトはトランザクションを開始しません。 |
Not_Supported | スクリプトはトランザクションを開始しません。 |
スクリプトに @TRANSACTION ディレクティブを指定する場合は、.asp ファイルの先頭行で使用する必要があります。先頭行以外で使用するとエラーが発生します。このディレクティブは、トランザクションで実行されるページすべてに追加する必要があります。現在のトランザクションは、スクリプトの処理が終了した時点で終了します。
@TRANSACTION ディレクティブを含むスクリプトが、Server.Transfer メソッドまたは Server.Execute メソッドのいずれかにより呼び出されたときに、ディレクティブの値が Required に指定されている場合、呼び出し元の asp のトランザクションが実行されていたときは、スクリプトは呼び出し元の asp のトランザクションを続行します。呼び出し元の asp のトランザクションが実行されていなかったときは、呼び出された asp は新しいトランザクションを作成します。
たとえば、次の 2 つのスクリプトは 1 つのトランザクションと見なされます。
ASP
<%@ TRANSACTION=Required %>
<%
Server.Transfer("/asp/asp2.asp")
%>
ASP2
<%@ TRANSACTION=Required%>
<%
Server.CreateObject("Mytransactedcomponent.Closeout")
%>