แนะนำ: คำสั่งวนสคริปต์สคริปต์ บทความนี้สอนคำสั่ง Script Loop ของ ASP: ลักษณะของสภาพแวดล้อมหน้าเซิร์ฟเวอร์ ASP Dynamic Server คือการเขียนผ่านภาษาสคริปต์หนึ่งหรือหลายภาษา ภาษาสคริปต์ถือได้ว่าเป็นภาษาการเขียนโปรแกรมเวอร์ชันที่ง่ายขึ้น เป็นเรื่องง่ายที่จะเรียนรู้และเชี่ยวชาญซึ่งให้ความสะดวกสบายแก่นักออกแบบเว็บไซต์ไดนามิก อาจกล่าวได้ว่าการใช้ภาษาสคริปต์ที่เหมาะสมนั้นเกี่ยวข้องโดยตรงกับ ASP
Julyclyde (ต้นฉบับ)
ผู้เขียนคือ Microsoft China Community Star ในเดือนกุมภาพันธ์
ในการเขียนโปรแกรมการทำธุรกรรมมักจะจำเป็น ธุรกรรมที่เรียกว่าเป็นชุดของการดำเนินการที่ต้องประสบความสำเร็จ ตราบใดที่การดำเนินการหนึ่งล้มเหลวขั้นตอนอื่น ๆ ทั้งหมดจะต้องถูกยกเลิก ตัวอย่างเช่นเมื่อพัฒนาระบบฮาร์ดดิสก์เครือข่ายโดยใช้ ASP ส่วนการลงทะเบียนผู้ใช้จะต้องทำ:
บันทึกข้อมูลผู้ใช้ลงในฐานข้อมูล
เปิดโฟลเดอร์สำหรับผู้ใช้สำหรับจัดเก็บข้อมูล
เริ่มต้นบันทึกการทำงานของผู้ใช้
การทำธุรกรรมจะต้องใช้ในสามขั้นตอนเหล่านี้มิฉะนั้นหากการดำเนินการดิสก์ล้มเหลวและการดำเนินการฐานข้อมูลจะไม่ถูกเพิกถอนมันจะทำให้ผู้ใช้ที่ตายแล้วซึ่งสามารถเข้าสู่ระบบได้ แต่ไม่สามารถทำงานได้
เนื่องจากประวัติการพัฒนาพิเศษของระบบฐานข้อมูลทุกอย่างตั้งแต่การเข้าถึง DB2 ได้รับการสนับสนุนโดยธุรกรรม ดังนั้นขั้นตอนข้างต้นสามารถแสดงได้ดังนี้:
เมื่อเกิดข้อผิดพลาดต่อไป
ขั้นตอนแรก:
บันทึกข้อมูลผู้ใช้ลงในฐานข้อมูลภายใต้สภาพแวดล้อมการทำธุรกรรม
ถ้าเอ่อแล้ว
ปิดการเชื่อมต่อ
ล้มเลิก
อื่น
ขั้นตอนที่ 2: สร้างโฟลเดอร์
ถ้าเอ่อแล้ว
ย้อนกลับขั้นตอนแรกของการดำเนินการและออกจากฐานข้อมูล
อื่น
ขั้นตอนที่ 3: ใช้งานฐานข้อมูลบันทึกในสภาพแวดล้อมการทำธุรกรรม
ถ้าเอ่อแล้ว
ย้อนกลับขั้นตอนแรกและลบโฟลเดอร์ที่สร้างขึ้นในขั้นตอนที่สอง
ล้มเลิก
สิ้นสุดถ้า
สิ้นสุดถ้า
สิ้นสุดถ้า
ส่งธุรกรรมแรกของการดำเนินการฐานข้อมูล
ส่งธุรกรรมสำหรับขั้นตอนที่สองของการดำเนินการฐานข้อมูล
จบ
แต่ละขั้นตอนจะต้องได้รับการตัดสิน หากล้มเหลวมีความจำเป็นที่จะต้องย้อนกลับหลายขั้นตอนก่อนหน้าทำให้โปรแกรมซับซ้อนและยากที่จะเข้าใจ หากคุณอัปเดตโปรแกรมในอนาคตและเพิ่มขั้นตอนอื่น ๆ คุณจะต้องทำรังมากขึ้นหาก ... อื่น ๆ ... จบลงถ้าจะทำให้กระบวนการโปรแกรมซับซ้อนขึ้น
วิธีแก้ปัญหาที่ถูกต้องคือการใช้ฟังก์ชั่นควบคุมธุรกรรมของ ASP IIS สามารถควบคุมระบบสนับสนุนการทำธุรกรรมได้หลายระบบผ่านการติดต่อกับ MTS Services เมื่อโปรแกรมส่งสัญญาณที่ล้มเหลวระบบสนับสนุนการทำธุรกรรมทั้งหมดจะย้อนกลับโดยอัตโนมัติแม้ว่าการดำเนินการจะเสร็จสิ้นอย่างเป็นทางการ นอกจากนี้ยังมีวิธีการย้อนกลับแบบแมนนวลที่สะดวกสำหรับการดำเนินการที่ไม่สนับสนุนการทำธุรกรรม ตัวอย่างข้างต้นถูกเขียนใหม่โดยใช้ฟังก์ชันควบคุมธุรกรรม ASP ดังนี้:
< %@ transaction = ต้องการ %>
เมื่อเกิดข้อผิดพลาดต่อไป
SET Conn = Server.CreateObject (ADODB.Connection)
Conn.open ......
Conn.execute Insert ....
conn.close
ตั้งค่า conn = ไม่มีอะไร
ตั้งค่า conn2 = server.createObject (adodb.connection)
conn2.open ...
conn2.execute แทรก ....
conn2.close
ตั้งค่า conn2 = ไม่มีอะไร
ตั้งค่า fso = server.createObject (scripting.filessystemobject)
fso.createfolder ...
ถ้าเอ่อแล้ว
ObjectContext.setabort 'แจ้งส่วนประกอบทั้งหมดที่สนับสนุนธุรกรรมเพื่อย้อนกลับและเรียกใช้รหัสการย้อนกลับด้วยตนเอง
อื่น
ObjectContext.setComplete
สิ้นสุดถ้า
ตั้งค่า fso = ไม่มีอะไร
ย่อย ontransactionabort
Response.write ข้อผิดพลาด
FSO.DeleteFile Server.Mappath (a.txt) 'โฟลเดอร์แบบย้อนกลับของ FSO ของ FSO
สิ้นสุดย่อย
sub ontransactioncommit
Response.write ทำภารกิจให้สำเร็จ
สิ้นสุดย่อย
-
< %@ transaction = nevey %> ในบรรทัดแรกระบุว่าหน้านี้ของไฟล์ ASP ต้องการการสนับสนุนการทำธุรกรรม MTS การดำเนินการแต่ละครั้งที่อยู่ตรงกลางจะถูกเขียนตามลำดับปกติโดยไม่พิจารณาปัญหาการย้อนกลับ ในตอนท้ายของโปรแกรมตรวจสอบว่ามีข้อผิดพลาดใด ๆ หรือไม่ ถ้าเป็นเช่นนั้นให้เรียกใช้เมธอด setabort ของ ObjectContext, IIS จะแจ้งส่วนประกอบที่สนับสนุนการทำธุรกรรมทั้งหมดเพื่อย้อนกลับ (ส่วนใหญ่ฐานข้อมูล) ผ่านบริการ MTS และเรียกใช้การดำเนินการย่อยแบบย้อนกลับด้วยตนเองซึ่งไม่สนับสนุนการทำธุรกรรม หากไม่มีข้อผิดพลาดเกิดขึ้นให้เรียกใช้เมธอด setComplete ของ ObjectContext และเรียกใช้ Sub OnTransActionCommit เพื่อแสดงข้อความที่ประสบความสำเร็จ
โปรแกรม ASP ทั้งหมดไม่จำเป็นต้องเขียนรหัสที่ไม่จำเป็นสำหรับข้อผิดพลาดในการตัดสินและการดำเนินการย้อนกลับ มันต้องตัดสินใจในตอนท้ายเท่านั้น แม้ว่าจะมีการเพิ่มหลายขั้นตอนในอนาคต แต่ก็ต้องมีการควบคุมในการย่อยย่อย สะดวกมาก โปรแกรมเมอร์สามารถมุ่งเน้นไปที่การเขียนกระบวนการแทนการเขียนรหัสแก้ไขข้อผิดพลาด
ในความเป็นจริง ASP ยังมีฟังก์ชั่นที่มีประโยชน์อีกมากมายรอให้เราใช้ อย่าคิดว่า ASP จะมีฟังก์ชั่นที่อ่อนแออย่างแน่นอนเมื่อใช้ภาษาสคริปต์
แบ่งปัน: วิธีการใช้รูปขนาดย่อที่ปราศจากองค์ประกอบ ASP มีองค์ประกอบ ASP มากมายที่สร้างภาพขนาดย่อบนอินเทอร์เน็ต หากพื้นที่เสมือนของคุณไม่สนับสนุนการลงทะเบียนส่วนประกอบใหม่คุณอาจรู้สึกว่าเว็บไซต์ของคุณสูญเสียสี Xinqing ไม่ได้มีความสามารถและรวมกับแหล่งข้อมูลออนไลน์เธอเขียนโปรแกรมภาพย่อที่ปราศจากองค์ประกอบเพื่ออ้างอิงเท่านั้น มาดูพื้นฐานก่อน ก่อนอื่นเรารู้ว่ารหัสต่อไปนี้จะปรากฏบนหน้า: img src = pic.gif border = 0 ความกว้าง