Mengubah kode ASP menjadi komponen tidak hanya untuk mempercepat ASP, tetapi juga untuk lebih melindungi kode Anda sendiri. Mari kita tulis tutorial tentang menulis ASP ke dalam DLL. Mari ikuti editor kesalahan baru.
Komponen sisi server
Pertama -tama, komponen di sisi server harus berbeda dari yang ada di sisi klien. Komponen di sisi klien ditransmisikan melalui jaringan dan mengandalkan HTML untuk bekerja. Mereka hanya bisa berguna di IE. Namun, komponen di sisi server dijalankan di server dan melakukan berbagai operasi di server. Oleh karena itu, semua browser dapat menikmatinya, dan itu bergantung pada server daripada browser.
Ketika IIS diminta untuk menjalankan program ASP, pertama -tama akan menemukan kode antara tag < % %> dalam file ASP dan menjalankannya (atau kode antara <skrip runat = server> </script>). Jika program ASP ini telah dipanggil sebelumnya, itu akan menggunakan program yang dikompilasi dalam memori untuk mengembalikan kode HTML ke pengguna. Jika tidak, itu akan mengkompilasi ulang. Di sini, ASP memiliki keunggulan kecepatan yang lebih sedikit daripada CGI, karena CGI menggunakan utas untuk setiap permintaan. Ini sangat mengkonsumsi sumber daya server.
Apakah Anda ingin program yang Anda tulis untuk menjalankan sendiri!?! Sekarang Anda bisa melakukannya! Menggunakan VB5 (tentu saja VB6 sekarang), Anda dapat membuat pustaka tertaut dinamis (file DLL), yang dapat dijalankan langsung pada IIS (jika ada file ASP yang akan diminta).
Persyaratan sistem dan perangkat lunak
Anda memerlukan sistem operasi 32-bit untuk menjalankan ASP. Tentu saja, Anda juga harus menginstal IIS atau PWS. Program berikut kami dikembangkan di lingkungan Windows95+PWS+VB5.
Mari kita mulai
Mulai VB Anda dan pilih ikon ActiveX. Ikon ini dapat ditemukan di proyek baru! VB akan memberikan nama proyek default (Project1) dan nama kelas (kelas1). Kami akan mengubah kedua nama. Sebelum mengubah nama, harap pertama -tama konfirmasikan bahwa kami memiliki pustaka objek Microsoft Active Server Pages, yang sangat berguna dalam program kami. Pilih "Proyek" dari menu dan pilih "Referensi" di dalamnya, dan jendela "Referensi" akan muncul.
Pilih Perpustakaan Objek Microsoft Server Active Server.
Nama proyek dan kelas
Sekarang mari kita beri nama Project1 dan Class1 sesuai dengan hobi kami! Menamai mereka juga sangat penting. Kami akan menggunakan nama proyek dan nama kelas ini untuk membuat instance komponen ini di masa mendatang! Ini akan diperkenalkan secara rinci nanti.
Saya tidak ingin mengatakan lebih banyak tentang cara mengubah nama!
Nama proyek kami diubah menjadi contoh dan nama kelasnya adalah Helloword
Cara menggunakan teknik dan kelas
Sekarang kami memiliki proyek kami sendiri (contoh1) dan nama kelas (HelloWorld). Di masa depan, kami akan menggunakan nama mereka untuk merujuk komponen ini dalam kode ASP. Di ASP kami akan merujuknya seperti ini, sebagai berikut:
Set ObjReference = Server.CreateObject ("ProjectName.ClassName")
Kutipan untuk proyek kami adalah:
Set ObjReference = Server.CreateObject ("Contoh1.Helloworld")
Sekarang kita dapat menggunakan objreferensi untuk memanggil fungsi dan subrutin yang kita buat di komponen. Selanjutnya, kami akan menulis subrutin Sayhello, dan kode kami untuk melaksanakannya adalah sebagai berikut:
(%
Set ObjReference = Server.CreateObject ("Contoh1.Helloworld")
Objreference.sayhello
%>
Untuk menggunakan metode ASP di kelas HelloWord, Anda harus menulis onStartpage di kelas ini
Subfungsi. Sebagai berikut:
Sub Onstartpage Publik (lulus SCRIPTINGContext sebagai ScriptingContext)
Setel myscriptingcontext = lulus scriptingcontext
Akhir sub
Sekarang, tidak peduli kapan pengguna mengakses file ASP dengan komponen ini, IIS akan mengirim ScriptingContext ke objek kami. ScriptingContext ini mencakup semua metode dan properti ASP. Dalam hal implementasi, ini memungkinkan kami untuk mengakses semua objek ASP. Lihat kode berikut:
Sub Onstartpage Publik (lulus SCRIPTINGContext sebagai ScriptingContext)
Setel myscriptingcontext = lulus scriptingcontext
Atur myApplication = myscriptingcontext.application
Atur myRequest = myscriptingcontext.request
Atur myResponse = myscriptingcontext.response
Set myserver = myscriptingcontext.server
Set MySession = MyScriptingContext.Session
Akhir sub
Di masa depan, kita dapat menggunakan myApplication di VB alih -alih aplikasi di ASP, dan dengan cara yang sama, dapat menggantikan permintaan, server ..., tetapi kami ingin mendeklarasikan variabel -variabel ini sebelum Onstartpage:
Private MyScriptingContext sebagai ScriptingContext
MyApplication pribadi sebagai aplikasi
Myrequest pribadi sebagai permintaan
Respon myresponse pribadi
Private MyServer sebagai server
Mysesesi pribadi sebagai sesi
Objek menggunakan ASP
Variabel kami sekarang dapat digunakan seperti objek ASP standar! Misalnya, kami sering menggunakan request.form () dalam ASP untuk mengumpulkan data untuk mengirimkan formulir. Sekarang kami menerapkan fungsi ini di VB kami, kodenya adalah sebagai berikut:
Diimplementasikan dalam ASP:
(%
Mytempvariable = request.form ("nama pengguna")
Response.write ("You Entered" & MyTempVariable & "Sebagai Nama Pengguna Anda")
%>
Diterapkan di VB:
MyTempVariable = myRequest.Form ("nama pengguna")
MyResponse.write ("You Entered" & MyTempVariable & "Sebagai Nama Pengguna Anda")
Dengan menggunakan myResponse alih -alih respons, kita dapat menggunakan semua metode respons. Tentu saja, nama MyResponse dapat digunakan dengan santai, dan Anda bahkan dapat memilih respons.
Hal lain yang harus kami perhatikan adalah bahwa kami harus menulis subfungsi OnendPage di kelas yang kami buat, dan Onstartpage ini sebaliknya! Onstartpage adalah membuat objek, dan Onendpage adalah untuk menghancurkan objek.
Sub Onendpage publik ()
Atur myscriptingcontext = tidak ada
Atur myApplication = tidak ada
Atur myRequest = tidak ada
Atur myResponse = tidak ada
Atur myserver = tidak ada
Setel mysession = tidak ada
Akhir sub
Metode Sayhello
Mari kita buat subfungsi untuk menampilkan "Holle World". Metode Sayhello ini hanyalah subfungsi di kelas HelloWorld. Kami akan menggunakan metode berikut untuk menampilkannya di ASP di masa depan
(%
Set ObjReference = Server.CreateObject ("Contoh1.Helloworld")
Objreference.sayhello
%>
Program Sayhello sangat sederhana!
Sub Sayhello publik ()
MyResponse.write ("Hello World")
Akhir sub
Sekarang setelah komponen kecil ditulis, sisanya adalah untuk mengkompilasi komponen ini, simpan di menu "Proyek", dan Anda dapat memilih nama apa pun. Mari kita gunakan contoh1.vbp! Kemudian pilih "Make Example1.dll" di menu dan mengkompilasinya menjadi file DLL. Komponen benar -benar selesai!
Perhatikan bahwa jika Anda mengkompilasi komponen ini, Anda harus mematikan PWS terlebih dahulu dan kemudian menyusun komponen ini. Jika tidak, VB akan memberi tahu Anda bahwa beberapa komponen sedang digunakan.
Gunakan komponen kami sendiri di ASP.
Saat Anda memperbaiki kesalahan dalam kompilasi dan berhasil menyusun proyek Contoh1, Anda harus mengeluarkan editor HTML favorit Anda dan menuliskan pernyataan berikut dan menyimpannya sebagai file ASP.
〈Html>
〈Head>
〈Title> Contoh 1 〈/title>
〈/Head>
〈Body>
(%
Set ObjReference = Server.CreateObject ("Contoh1.Helloworld")
Objreference.sayhello
%>
〈/Tubuh>
〈/Html>
Setelah berjalan, Anda dapat melihat hasilnya:
Halo dunia
Daftar Komponen
Jika Anda ingin berbagi komponen dengan teman dan tetangga Anda, Anda harus mendaftarkan komponen Anda di sistem Anda. Kami biasanya menggunakan regsvr32.exe untuk mendaftarkan komponen. Setelah pendaftaran, komponen Anda akan muncul di Direktori Windows/Sistem Win95/Win98. Berikut adalah contoh pendaftaran:
REGSVR32.EXE C: /Example1/example1.dll
Di sistem Anda, VB akan secara otomatis mendaftar untuk Anda, jadi Anda jarang menggunakan regsvr32.exe
Kami baru saja menulis komponen yang sangat kecil di sini. Anda dapat menulis komponen Anda sendiri yang lebih besar dan menggunakan banyak kontrol di VB.
Kunci untuk menulis DLL oleh ASP adalah mengetahui cara mengembangkan komponen DLL. Mengembangkan komponen DLL bukan kode yang rumit, dan membutuhkan pembelajaran melalui upaya Anda sendiri.