ASP 내장 ObjectObjectContext 상세한 설명
ObjectContext 오브젝트를 사용하여 Microsoft TransactionServer (MTS)가 관리하는 트랜잭션을 제출하거나 포기할 수 있으며, 이는 ASP 페이지에 포함 된 스크립트로 초기화됩니다.
ASP에 @Transaction Directive가 포함 된 경우 페이지는 트랜잭션에서 실행되며 트랜잭션이 성공하거나 실패 할 때까지 종료되지 않습니다.
문법
ObjectContext.Method
방법
SetCompleTesetComplete 메소드는 스크립트가 트랜잭션이 완료되지 않은 이유를 이해하지 못한다고 선언합니다. 트랜잭션 호출의 모든 구성 요소가 SetComplete의 경우 트랜잭션이 완료됩니다.
SetabortSetAbort 메소드는 스크립트에 의해 초기화 된 트랜잭션이 완료되지 않았으며 소스를 업데이트 할 수 없다고 선언합니다.
이벤트
OnTransactionCommit
OnTransactionAbort
의견
ObjectContext는 MtsObjectContext 객체의 두 가지 방법을 구현합니다. Setabort 방법은 트랜잭션을 완전히 종료합니다. 이러한 방식으로 MTS는 첫 번째 단계에서 접촉 소스를 업데이트하지 않습니다. 트랜잭션이 종료되면 스크립트의 ontransactionAbort 이벤트가 처리됩니다.
SetComplete 메소드를 호출한다고해서 반드시 거래가 완료되었음을 의미하지는 않습니다. 트랜잭션은 스크립트 호출 SetComplete에서 호출 된 모든 트랜잭션 구성 요소 인 경우에만 완료 될 수 있습니다. 대부분의 경우, 처리 종료시 SetAbort가 호출되지 않으면 스크립트는 일반적으로 완성 된 것으로 가정되므로 SetComplete는 스크립트 내에서 반드시 호출되는 것은 아닙니다.
ObjectContext는 SetAbort 및 SetComplete 이외의 6 가지 방법을 보여줍니다. 이 방법은 스크립트에서 호출하는 구성 요소에 사용할 수 있지만 ASP 스크립트와 직접 사용할 수 없습니다.
예
다음은 Setabort 및 SetCommit을 사용한 방법의 데모입니다. Sales.htm 파일은 판매 요청을 처리하는 데 필요한 데이터를 가져옵니다. 두 번째 파일의 스크립트 인 Salesverify.asp는 판매를 처리하기 위해 두 가지 객체 (인벤토리 및 판매)를 사용합니다. 재고가 판매용 재고가 부족하다는 오류 코드를 반환하면 SetAbort가 호출됩니다. 인벤토리 객체가 오류 코드를 반환하지 않으면 SetComplete가 호출되어 판매 요청을 처리합니다.
Sales.htm
<! doctypehtmlpublic "-// ietf // dtdhtml // en">
<html>
<헤드>
<title> salesorder </title>
</head>
<bodybgcolor = "#ffffff"> <fontface = "arial, helvetica">
<H2> salesOrderform </h2>
<formmethod = postaction = "salesverify.asp">
<p> PleaseEntertheProductcode, 수량, andyouraccountnumber.
<inputtype = textName = QuantityTobuy>
<inputtype = textName = productCode>
<inputtype = textName = AccountIn>
<p>
<inputtype = 제출>
</font>
</body>
</html>
salesverify.asp 파일
<%@transaction = 필수%>