การเปลี่ยนรหัส ASP เป็นส่วนประกอบไม่เพียง แต่จะเพิ่มความเร็ว ASP แต่ยังเพื่อปกป้องรหัสของคุณเองได้ดีขึ้น มาเขียนบทแนะนำเกี่ยวกับการเขียน ASP ลงใน DLLS มาติดตามบรรณาธิการของข้อผิดพลาดใหม่
ส่วนประกอบฝั่งเซิร์ฟเวอร์
ก่อนอื่นส่วนประกอบทางฝั่งเซิร์ฟเวอร์ควรแตกต่างจากส่วนที่อยู่ด้านไคลเอนต์ ส่วนประกอบในฝั่งไคลเอ็นต์จะถูกส่งผ่านเครือข่ายและพึ่งพา HTML เพื่อทำงาน พวกเขามีประโยชน์ใน IE เท่านั้น อย่างไรก็ตามส่วนประกอบบนฝั่งเซิร์ฟเวอร์ทำงานบนเซิร์ฟเวอร์และดำเนินการต่างๆบนเซิร์ฟเวอร์ ดังนั้นเบราว์เซอร์ทั้งหมดสามารถเพลิดเพลินกับมันและขึ้นอยู่กับเซิร์ฟเวอร์มากกว่าเบราว์เซอร์
เมื่อ IIS ได้รับการร้องขอให้เรียกใช้โปรแกรม ASP ก่อนอื่นจะค้นหารหัสระหว่างแท็ก < % % %> ในไฟล์ ASP และเรียกใช้งาน (หรือรหัสระหว่าง <<<<script runat = เซิร์ฟเวอร์> </script>) หากโปรแกรม ASP นี้ถูกเรียกก่อนหน้านี้จะใช้โปรแกรมที่รวบรวมในหน่วยความจำเพื่อส่งคืนรหัส HTML ให้กับผู้ใช้ ถ้าไม่มันจะคอมไพล์อีกครั้ง ที่นี่ ASP มีความได้เปรียบความเร็วมากกว่า CGI เล็กน้อยเนื่องจาก CGI ใช้เธรดสำหรับแต่ละคำขอ สิ่งนี้ใช้ทรัพยากรของเซิร์ฟเวอร์อย่างมาก
คุณต้องการโปรแกรมที่คุณเขียนเพื่อทำงานด้วยตัวเองด้วยตัวเอง!?! ตอนนี้คุณทำได้! การใช้ VB5 (แน่นอนว่าเป็น VB6 ตอนนี้) คุณสามารถสร้างไลบรารีที่เชื่อมโยงแบบไดนามิก (ไฟล์ DLL) ซึ่งสามารถเรียกใช้โดยตรงบน IIS (หากมีไฟล์ ASP ที่จะร้องขอ)
ข้อกำหนดของระบบและซอฟต์แวร์
คุณต้องใช้ระบบปฏิบัติการ 32 บิตเพื่อเรียกใช้ ASP แน่นอนคุณต้องติดตั้ง IIS หรือ PWS ด้วย โปรแกรมต่อไปนี้ของเราได้รับการพัฒนาในสภาพแวดล้อม Windows95+PWS+VB5
มาเริ่มกันเถอะ
เริ่ม VB ของคุณและเลือกไอคอน ActiveX ไอคอนนี้สามารถพบได้ในโครงการใหม่! VB จะให้ชื่อโครงการเริ่มต้น (Project1) และชื่อคลาส (Class1) เราจะเปลี่ยนชื่อทั้งสอง ก่อนที่จะเปลี่ยนชื่อโปรดยืนยันก่อนว่าเรามีไลบรารี Object Microsoft Active Server ซึ่งมีประโยชน์มากในโปรแกรมของเรา เลือก "โครงการ" จากเมนูและเลือก "การอ้างอิง" ในนั้นและหน้าต่าง "อ้างอิง" จะปรากฏขึ้น
เลือกไลบรารี Object Object Microsoft Active Server
ชื่อโครงการและชั้นเรียน
ตอนนี้มาชื่อ Project1 และ Class1 ตามงานอดิเรกของเรา! การตั้งชื่อพวกเขาก็สำคัญมาก เราจะใช้ชื่อโครงการและชื่อคลาสนี้เพื่อสร้างอินสแตนซ์ขององค์ประกอบนี้ในอนาคต! จะมีการแนะนำรายละเอียดในภายหลัง
ฉันไม่ต้องการพูดเพิ่มเติมเกี่ยวกับวิธีการเปลี่ยนชื่อ!
ชื่อโครงการของเราเปลี่ยนเป็นตัวอย่างและชื่อคลาสคือ Helloword
วิธีใช้วิศวกรรมและชั้นเรียน
ตอนนี้เรามีโครงการของเราเอง (ตัวอย่าง 1) และชื่อคลาส (HelloWorld) ในอนาคตเราจะใช้ชื่อของพวกเขาเพื่ออ้างอิงองค์ประกอบนี้ในรหัส ASP ใน ASP เราจะอ้างอิงเช่นนี้ดังนี้:
ตั้งค่า objreference = server.createObject ("ProjectName.className")
ใบเสนอราคาสำหรับโครงการของเราคือ:
ตั้งค่า objreference = server.createObject ("example1.helloworld")
ตอนนี้เราสามารถใช้ objreference เพื่อเรียกฟังก์ชันและรูทีนย่อยที่เราสร้างขึ้นในส่วนประกอบ ต่อไปเราจะเขียนรูทีนย่อย Sayhello และรหัสของเราเพื่อดำเนินการดังต่อไปนี้:
-
ตั้งค่า objreference = server.createObject ("example1.helloworld")
objreference.sayhello
-
ในการใช้วิธี ASP ในคลาส HelloWord คุณต้องเขียน onstartpage ในคลาสนี้
ฟังก์ชั่นย่อย ดังนี้:
Public Sub OnStartPage (PassedScriptingContext เป็น ScriptingContext)
ตั้งค่า myscriptingContext = passedscriptingContext
สิ้นสุดย่อย
ตอนนี้ไม่ว่าเมื่อใดที่ผู้ใช้เข้าถึงไฟล์ ASP ด้วยส่วนประกอบนี้ IIS จะส่ง ScriptingContext ไปยังวัตถุของเรา ScriptingContext นี้มีวิธีการและคุณสมบัติ ASP ทั้งหมด ในแง่ของการใช้งานสิ่งนี้ช่วยให้เราสามารถเข้าถึงวัตถุ ASP ทั้งหมด ดูรหัสต่อไปนี้:
Public Sub OnStartPage (PassedScriptingContext เป็น ScriptingContext)
ตั้งค่า myscriptingContext = passedscriptingContext
ตั้งค่า myApplication = myscriptingContext.Application
ตั้งค่า myRequest = myscriptingContext.request
ตั้งค่า myResponse = myscriptingContext.response
ตั้งค่า myServer = myscriptingContext.server
ตั้งค่า mysession = myscriptingContext.session
สิ้นสุดย่อย
ในอนาคตเราสามารถใช้ myApplication ใน VB แทนแอปพลิเคชันใน ASP และในทำนองเดียวกันมันสามารถแทนที่คำขอเซิร์ฟเวอร์ ... แต่เราต้องการประกาศตัวแปรเหล่านี้ก่อน onStartPage:
ส่วนตัว myscriptingContext เป็น scriptingContext
myapplication ส่วนตัวเป็นแอปพลิเคชัน
MyRequest ส่วนตัวตามคำขอ
myresponse ส่วนตัวเป็นการตอบสนอง
MyServer ส่วนตัวเป็นเซิร์ฟเวอร์
Mysession ส่วนตัวเป็นเซสชั่น
วัตถุที่ใช้ ASP
ตอนนี้ตัวแปรของเราสามารถใช้งานได้เช่นวัตถุ ASP มาตรฐาน! ตัวอย่างเช่นเรามักจะใช้ request.form () ใน ASP เพื่อรวบรวมข้อมูลสำหรับการส่งแบบฟอร์ม ตอนนี้เราใช้ฟังก์ชั่นนี้ใน VB ของเรารหัสมีดังนี้:
ดำเนินการใน ASP:
-
myTempVariable = request.form ("ชื่อผู้ใช้")
Response.write ("คุณป้อน" & mytempvariable & "เป็นชื่อผู้ใช้ของคุณ")
-
ดำเนินการใน VB:
myTempVariable = myRequest.form ("ชื่อผู้ใช้")
myResponse.write ("คุณป้อน" & myTempVariable & "เป็นชื่อผู้ใช้ของคุณ")
โดยใช้ myresponse แทนการตอบสนองเราสามารถใช้วิธีการตอบกลับทั้งหมด แน่นอนชื่อ myresponse สามารถใช้งานได้อย่างไม่เป็นทางการและคุณสามารถเลือกการตอบกลับได้
อีกสิ่งหนึ่งที่เราต้องทราบคือเราต้องเขียนฟังก์ชั่นย่อย onendpage ในชั้นเรียนที่เราสร้างขึ้นและ onstartpage นี้ตรงกันข้าม! OnStartPage คือการสร้างวัตถุและ onendpage คือการทำลายวัตถุ
public sub onendpage ()
ตั้งค่า myscriptingContext = ไม่มีอะไร
ตั้งค่า myApplication = ไม่มีอะไร
ตั้งค่า myRequest = ไม่มีอะไร
ตั้งค่า myresponse = ไม่มีอะไร
ตั้งค่า myServer = ไม่มีอะไร
ตั้งค่า mysession = ไม่มีอะไร
สิ้นสุดย่อย
วิธี Sayhello
มาสร้างผลงานย่อยเพื่อแสดง "Holle World" วิธี Sayhello นี้เป็นเพียงฟังก์ชั่นย่อยในคลาส HelloWorld เราจะใช้วิธีการต่อไปนี้เพื่อแสดงใน ASP ในอนาคต
-
ตั้งค่า objreference = server.createObject ("example1.helloworld")
objreference.sayhello
-
โปรแกรมของ Sayhello นั้นง่ายมาก!
สาธารณะ sayhello ()
MyResponse.write ("Hello World")
สิ้นสุดย่อย
ตอนนี้มีการเขียนส่วนประกอบขนาดเล็กส่วนที่เหลือคือการรวบรวมส่วนประกอบนี้บันทึกไว้ในเมนู "โครงการ" และคุณสามารถเลือกชื่อใดก็ได้ มาใช้ตัวอย่าง 1.vbp! จากนั้นเลือก "Make Example1.dll" ในเมนูและรวบรวมไว้ในไฟล์ DLL ส่วนประกอบเสร็จสมบูรณ์อย่างแท้จริง!
โปรดทราบว่าหากคุณรวบรวมส่วนประกอบนี้คุณจะต้องปิด PWS ก่อนจากนั้นรวบรวมส่วนประกอบนี้ มิฉะนั้น VB จะบอกคุณว่ามีการใช้งานส่วนประกอบบางอย่าง
ใช้ส่วนประกอบของเราเองใน ASP
เมื่อคุณแก้ไขข้อผิดพลาดในการรวบรวมและรวบรวมโครงการตัวอย่าง 1 ได้สำเร็จคุณต้องนำตัวแก้ไข HTML ที่คุณชื่นชอบและเขียนคำสั่งต่อไปนี้และบันทึกเป็นไฟล์ ASP
〈html>
〈head>
〈ชื่อ> ตัวอย่าง 1 〈/title>
〈/head>
〈body>
-
ตั้งค่า objreference = server.createObject ("example1.helloworld")
objreference.sayhello
-
〈/body>
〈/html>
หลังจากทำงานแล้วคุณสามารถเห็นผลลัพธ์:
สวัสดีโลก
ลงทะเบียนส่วนประกอบ
หากคุณต้องการแบ่งปันส่วนประกอบกับเพื่อนและเพื่อนบ้านของคุณคุณต้องลงทะเบียนส่วนประกอบของคุณในระบบของคุณ โดยทั่วไปเราใช้ regsvr32.exe เพื่อลงทะเบียนส่วนประกอบ หลังจากการลงทะเบียนส่วนประกอบของคุณจะปรากฏในไดเรกทอรี Windows/System ของ Win95/Win98 นี่คือตัวอย่างของการลงทะเบียน:
regsvr32.exe c:/example1/example1.dll
ในระบบของคุณ VB จะลงทะเบียนโดยอัตโนมัติสำหรับคุณดังนั้นคุณไม่ค่อยใช้ regsvr32.exe
เราเพิ่งเขียนองค์ประกอบเล็ก ๆ ที่นี่ คุณสามารถเขียนส่วนประกอบขนาดใหญ่ของคุณเองและใช้การควบคุมมากมายใน VB
กุญแจสำคัญในการเขียน DLLs โดย ASP คือการรู้วิธีพัฒนาส่วนประกอบ DLL การพัฒนาส่วนประกอบ DLL ไม่ใช่รหัสที่ซับซ้อนและต้องใช้การเรียนรู้ผ่านความพยายามของคุณเอง