當前位置:首頁文章首頁 IT學院 IT技術

關于ASP內(nèi)置對象ObjectContext的詳細說明

作者:  來源:  發(fā)布時間:2011-6-8 11:41:15  點擊:

這篇文章給大家分享學習的是關于ASP內(nèi)置對象ObjectContext詳解,希望對初學ASP的朋友們能夠帶來幫助。

您可以使用 ObjectContext 對象提交或放棄一項由 Microsoft Transaction Server (MTS) 管理的事務,它由 ASP 頁包含的腳本初始化。
  
  ASP 包含 @TRANSACTION 指令時,該頁會在事務中運行,直到事務成功或失敗后才會終止。
  
  語法
  ObjectContext.method
  
  方法
  SetComplete SetComplete 方法聲明腳本不了解事務未完成的原因。如果事務中的所有組件都調(diào)用 SetComplete,事務將完成。
  SetAbort SetAbort 方法聲明被腳本初始化的事務未完成,無法更新源。
  
  事件
  OnTransactionCommit
  OnTransactionAbort
  
  注釋
  ObjectContext 實現(xiàn) MTS ObjectContext 對象的兩種方法。 SetAbort 方法完全終止事務。這樣,MTS 不更新在第一階段聯(lián)系的源。事務終止時,將處理腳本的 OnTransactionAbort 事件。
  
  調(diào)用 SetComplete 方法并不一定意味著事務已完成。只有腳本調(diào)用的所有事務組件都調(diào)用了 SetComplete,事務才能完成。在大多數(shù)實例中,如果結(jié)束處理時未調(diào)用 SetAbort,腳本通常被假定為完成的,所以不一定要在腳本內(nèi)調(diào)用 SetComplete。
  
  ObjectContext 展示了 SetAbort 和 SetComplete 以外的六種方法。這些方法可用于腳本調(diào)用的組件,但不能直接用于 ASP 腳本。
  
  示例

  這里示范使用 SetAbort 和 SetCommit 的方法。Sales.htm 文件獲取處理銷售請求所需的數(shù)據(jù)。第二個文件——SalesVerify.asp 中的腳本使用兩個對象——Inventory 和 Sales 處理銷售。如果 Inventory 返回了錯誤代碼表示供銷售的存貨不足,就會調(diào)用 SetAbort。如果 Inventory 對象沒有返回錯誤代碼,將會調(diào)用 SetComplete 處理銷售請求。

  Sales.htm

  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  
  <HTML>
  <HEAD>
  <TITLE>Sales Order</TITLE>
  </HEAD>
  <BODY BGCOLOR="#FFFFFF">
  <FONT FACE="ARIAL,HELVETICA">
  <H2>Sales Order Form </H2>
  
  <FORM METHOD=POST ACTION="SalesVerify.asp">
  <P>Please enter the product code, quantity, and your account number.
  <INPUT TYPE=TEXT NAME=QuantityToBuy>
  <INPUT TYPE=TEXT NAME=ProductCode>
  <INPUT TYPE=TEXT NAME=AccountIn>
  <P>
  <INPUT TYPE=SUBMIT>
  </FONT>
  </BODY>
  </HTML>

  SalesVerify.asp 文件

  <%@ Transaction = Required %>
  <%
  Set CurrentQOH = Server.CreateObject("Mycomp.Inventory")
  Set CurrentSales = Server.CreateObject("Mycomp.Sales")
  
  CheckQuantity = Request("QuantityToBuy")
  CheckProduct = Request("ProductCode")
  QuantityStatus = CurrentQOH.CheckQOH(CheckQuantity,CheckProduct)
  
  If QuantityStatus = None
  ObjectContext.SetAbort
  Response.Write "Sorry, there is not sufficient quantity on hand to process your sale."
  Else
  ObjectContext.SetComplete
  Account = Request("AccountIn")
  Saleupdate = CurrentSales.PostIt(AccountIn)
  End If
  %>

相關軟件

相關文章

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z