作者:佚名 文章來(lái)源:未知 點(diǎn)擊數(shù): 446 更新時(shí)間:2004-4-16
最后我們將來(lái)學(xué)習(xí)一下在 ASP 中比較不常用的一個(gè)內(nèi)置對(duì)象:ObjectContext 對(duì)象。
ObjectContext 對(duì)象是一個(gè)以組件為主的事務(wù)處理系統(tǒng),它允許程序設(shè)計(jì)師在網(wǎng)頁(yè)(ASP 程序)中直接配合 Microsoft Transaction Server(MTS)使用,以便管理或開(kāi)發(fā)高效率的 Web 服務(wù)器應(yīng)用程序。因此在使用之前,必須確認(rèn) MTS 服務(wù)已經(jīng)安裝。
ObjectContext 對(duì)象的方法提供 SetComplete 與 SetAbort 兩個(gè)方法,前者表示終止目前這個(gè)網(wǎng)頁(yè)所啟動(dòng)的事務(wù)處理,而且將成功的完成事務(wù)處理。后者表示終止目前這個(gè)網(wǎng)頁(yè)所啟動(dòng)的事務(wù)處理,而且將此事務(wù)先前所作的處理加以取消至最初的狀態(tài)。
ObjectContext 對(duì)象的方法提供 OnTransactionCommit 與 OnTransactionAbort 兩個(gè)事件處理程序,前者會(huì)在事務(wù)完成時(shí)被激活,而后者則在事務(wù)失敗時(shí)被激活。
下面將以具體的實(shí)例來(lái)說(shuō)明該對(duì)象各種方法的應(yīng)用:
首先建立一個(gè)收集信息的頁(yè)面。
<html>
<body>
<form method="post" action="handle.asp">
<p>請(qǐng)輸入下列信息:</p>
<p>用戶(hù)名:<input type="text" name="account" size=20></p>
<p>密碼:<input type="text" name="password" size=20></p>
<p><input type="submit" value="確定">
<input type="reset" value="復(fù)位"></p>
</form>
</body>
</html>
以下為 handle.asp 文件源代碼:
<% @transaction=required %>
<html>
<body>
<%
‘建立確認(rèn)用戶(hù)名、密碼的組件
set component1=server.createobject("name.checker")
account=request("account")
password=request("password")
‘判別用戶(hù)名與密碼是否正確
if component1.checkbalance(account,password) then
objectcontext.setabort
else
objectcontext.setcomplete
end if
sub ontransactionabort()
response.write"事務(wù)失敗,用戶(hù)名或密碼錯(cuò)誤!"
end sub
sub ontransactioncommit()
response.write"事務(wù)成功!"
end sub
%>
</body>
</html>
該程序中的組件是為了說(shuō)明 ObjectContext 對(duì)象的方法而假設(shè)存在的。