권장 : ASP 스크립트 루프 문 이 기사에서는 ASP 스크립트 루프 문을 가르쳐줍니다. ASP 동적 서버 페이지 환경의 특성은 하나 또는 여러 스크립팅 언어를 통해 작성된다는 것입니다. 스크립팅 언어는 프로그래밍 언어의 단순화 된 버전으로 간주 될 수 있습니다. 배우기가 쉽고 마스터하기 쉽습니다. 이는 동적 웹 사이트의 디자이너에게 상당한 편의를 제공합니다. 스크립팅 언어의 적절한 사용은 ASP와 직접 관련이 있다고 말할 수 있습니다.
7 월 클라이드 (원본)
저자는 2 월에 Microsoft China Community Star입니다
프로그래밍에서 거래가 종종 필요합니다. 소위 거래는 성공적이어야 할 일련의 운영입니다. 한 작업이 실패하는 한 다른 모든 단계도 취소해야합니다. 예를 들어, ASP를 사용하여 네트워크 하드 디스크 시스템을 개발할 때 사용자 등록 부품은 다음을 수행해야합니다.
사용자 정보를 데이터베이스에 기록하십시오
스토리지를 위해 사용자를위한 폴더를 엽니 다
사용자 작동 로그 초기화
트랜잭션은이 세 단계에서 사용해야합니다. 그렇지 않으면 디스크 작동이 실패하고 데이터베이스 작업이 취소되지 않으면 로그인 할 수는 있지만 작동 할 수없는 죽은 사용자가 발생합니다.
데이터베이스 시스템의 특수 개발 기록으로 인해 DB2에 이르기까지 모든 것이 트랜잭션에 의해 지원됩니다. 따라서 위의 단계는 다음과 같이 표현 될 수 있습니다.
다음에 오류가 재개됩니다
첫 번째 단계 :
거래 환경에서 사용자 정보를 데이터베이스에 로그인
그렇다면
연결을 닫으십시오
그만두다
또 다른
2 단계 : 폴더를 만듭니다
그렇다면
데이터베이스 작동의 첫 번째 단계를 롤백하고 종료
또 다른
3 단계 : 트랜잭션 환경에서 로그 데이터베이스 작동
그렇다면
첫 번째 단계를 롤백하고 두 번째 단계에서 생성 된 폴더를 삭제하십시오.
그만두다
끝 If
끝 If
끝 If
데이터베이스 작업의 첫 번째 트랜잭션을 제출하십시오
데이터베이스 작업의 두 번째 단계에 대한 트랜잭션을 제출하십시오
끝
각 단계는 판단해야합니다. 실패하면 이전의 여러 단계를 수동으로 롤백하여 프로그램을 복잡하고 이해하기 어렵게 만들어야합니다. 향후 프로그램을 업데이트하고 다른 단계를 추가하면 if ... 다른 ... 다른 단계를 더 복잡하게 만들려면 더 많은 레이어를 중첩해야합니다.
올바른 솔루션은 ASP의 트랜잭션 제어 기능을 사용하는 것입니다. IIS는 MTS 서비스와의 접촉을 통해 여러 트랜잭션 지원 시스템을 제어 할 수 있습니다. 프로그램이 실패한 신호를 보내면 작업이 공식적으로 완료된 경우에도 모든 트랜잭션 지원 시스템이 자동으로 롤백됩니다. 또한 거래를 지원하지 않는 운영을위한 편리한 수동 롤백 방법을 제공합니다. 위의 예는 다음과 같이 ASP 트랜잭션 제어 기능을 사용하여 다시 작성됩니다.
< %@ transaction = 필수 %>
다음에 오류가 재개됩니다
set conn = server.createobject (adodb.connection)
CONN.OPEN ......
Conn.Execute Insert ....
conn.close
Conn = 아무것도 설정하지 않습니다
set conn2 = server.createobject (adodb.connection)
conn2.open ...
conn2.Execute 삽입 ....
conn2.close
Conn2 = 아무것도 설정하지 않습니다
set fso = server.createobject (scripting.filessystemobject)
FSO. CreateFolder ...
그렇다면
ObjectContext.setAbort '롤백 및 수동 롤백 코드를 실행하는 트랜잭션을 지원하는 모든 구성 요소에 알림
또 다른
ObjectContext.setComplete
끝 If
FSO = 아무것도 설정하지 않습니다
서브 ontransactionAbort
응답. 오류를 작성합니다
fso.deletefile server.mappath (a.txt) 'fso의 수동 롤백-날짜 폴더
종료 서브
하위 OnTransactionCommit
Response.Write 미션을 성공적으로 작성하십시오
종료 서브
%>
첫 번째 줄에서 < %@ transaction = resident %>는 ASP 파일 의이 페이지에 MTS 트랜잭션 지원이 필요하다는 것을 나타냅니다. 중간의 각 작업은 롤백 문제를 고려하지 않고 정상 순서로 작성됩니다. 프로그램이 끝나면 오류가 있는지 확인하십시오. 그렇다면 ObjectContext의 SetAbort 메소드를 호출하면 IIS는 MTS 서비스를 통해 모든 트랜잭션 지원 구성 요소에 롤백 (주로 데이터베이스)에 알리고 트랜잭션을 지원하지 않는 하위 OnTransactionAbort 수동 롤백 작업을 실행합니다. 오류가 발생하지 않으면 SetComplete 메소드의 ObjectContext 메소드를 호출하고 Sub OnTransactionCommit을 실행하여 성공적인 메시지를 표시하십시오.
전체 ASP 프로그램은 판단 오류 및 롤백 운영에 대해 불필요한 코드를 작성할 필요가 없습니다. 마지막에만 판단하면됩니다. 향후 여러 단계가 추가 되더라도 하위 OnTransactionAbort에서만 제어하면됩니다. 매우 편리합니다. 프로그래머는 오류 수정 코드를 작성하는 대신 프로세스 쓰기에 중점을 둘 수 있습니다.
실제로 ASP는 또한 우리가 사용하기를 기다리는 더 많은 유용한 기능을 제공합니다. 스크립팅 언어를 사용할 때 ASP가 확실히 약한 기능을 가질 것이라고 생각하지 마십시오.
공유 : ASP 구성 요소가없는 썸네일을 구현하는 방법 인터넷에서 썸네일을 생성하는 많은 ASP 구성 요소가 있습니다. 가상 공간이 새로운 구성 요소 등록을 지원하지 않으면 웹 사이트가 색상을 잃어버린 것으로 생각할 수 있습니다. Xinqing은 재능이 없으며 온라인 리소스와 결합하여 참조를 위해 구성 요소가없는 썸네일 프로그램을 작성했습니다. 먼저 기본 사항을 살펴 보겠습니다. 우선, 우리는 다음 코드가 페이지에 표시되어 있음을 알고 있습니다 : IMG SRC = pic.gif border = 0 너비