You can mark an ASP page with a transaction support property, just as you can do with a registered MTS component. An ASP scripting object thus can serve either as the root object or as a secondary object inside an MTS transaction. ASP also adds another built-in ASP object named
ObjectContext. This
object gives you the ability to call
SetComplete or
SetAbort directly from your VBScript code.
Such an ASP page also provides two events that you can use to handle the conditional logic when a transaction has been committed or rolled back. Transactional ASP pages are most valuable to Web programmers who want the benefits of MTS transactions without having to resort to using a compiled language. This is an example of transactional ASP page:
<%@ TRANSACTION=Required LANGUAGE="VBScript" %>
<%
Sub Main()
' execute some code for update
If (Every thing succeeds) Then
ObjectContext.SetComplete
Else
ObjectContext.SetAbort
End If
End Sub
' ASP supplies events for handling conditional commit/abort logic.
Sub OnTransactionCommit()
Response.Write "transaction has succeeded"
End Sub
Sub OnTransactionAbort()
Response.Write "transaction has failed.
The error is : " & Err.Description
End Sub
%>