asp内置对象 ObjectContext 事务管理 详解
asp内置对象 ObjectContext 事务管理 详解
发布时间:2016-12-29 来源:查字典编辑
摘要:asp内置对象ObjectContext详解您可以使用ObjectContext对象提交或放弃一项由MicrosoftTransaction...

asp内置对象ObjectContext详解

您可以使用ObjectContext对象提交或放弃一项由MicrosoftTransactionServer(MTS)管理的事务,它由ASP页包含的脚本初始化。

ASP包含@TRANSACTION指令时,该页会在事务中运行,直到事务成功或失败后才会终止。

语法

ObjectContext.method

方法

SetCompleteSetComplete方法声明脚本不了解事务未完成的原因。如果事务中的所有组件都调用SetComplete,事务将完成。

SetAbortSetAbort方法声明被脚本初始化的事务未完成,无法更新源。

事件

OnTransactionCommit

OnTransactionAbort

注释

ObjectContext实现MTSObjectContext对象的两种方法。SetAbort方法完全终止事务。这样,MTS不更新在第一阶段联系的源。事务终止时,将处理脚本的OnTransactionAbort事件。

调用SetComplete方法并不一定意味着事务已完成。只有脚本调用的所有事务组件都调用了SetComplete,事务才能完成。在大多数实例中,如果结束处理时未调用SetAbort,脚本通常被假定为完成的,所以不一定要在脚本内调用SetComplete。

ObjectContext展示了SetAbort和SetComplete以外的六种方法。这些方法可用于脚本调用的组件,但不能直接用于ASP脚本。

示例

这里示范使用SetAbort和SetCommit的方法。Sales.htm文件获取处理销售请求所需的数据。第二个文件——SalesVerify.asp中的脚本使用两个对象——Inventory和Sales处理销售。如果Inventory返回了错误代码表示供销售的存货不足,就会调用SetAbort。如果Inventory对象没有返回错误代码,将会调用SetComplete处理销售请求。

Sales.htm

<!DOCTYPEHTMLPUBLIC"-//IETF//DTDHTML//EN">

<HTML>

<HEAD>

<TITLE>SalesOrder</TITLE>

</HEAD>

<BODYBGCOLOR="#FFFFFF"><FONTFACE="ARIAL,HELVETICA">

<H2>SalesOrderForm</H2>

<FORMMETHOD=POSTACTION="SalesVerify.asp">

<P>Pleaseentertheproductcode,quantity,andyouraccountnumber.

<INPUTTYPE=TEXTNAME=QuantityToBuy>

<INPUTTYPE=TEXTNAME=ProductCode>

<INPUTTYPE=TEXTNAME=AccountIn>

<P>

<INPUTTYPE=SUBMIT>

</FONT>

</BODY>

</HTML>

SalesVerify.asp文件

<%@Transaction=Required%>

<%

SetCurrentQOH=Server.CreateObject("Mycomp.Inventory")

SetCurrentSales=Server.CreateObject("Mycomp.Sales")

CheckQuantity=Request("QuantityToBuy")

CheckProduct=Request("ProductCode")

QuantityStatus=CurrentQOH.CheckQOH(CheckQuantity,CheckProduct)

IfQuantityStatus=None

ObjectContext.SetAbort

Response.Write"Sorry,thereisnotsufficientquantityonhandtoprocessyoursale."

Else

ObjectContext.SetComplete

Account=Request("AccountIn")

Saleupdate=CurrentSales.PostIt(AccountIn)

EndIf

%>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新ASP教程学习
热门ASP教程学习
编程开发子分类