Dalam artikel sebelumnya, penulis memperkenalkan secara rinci cara menggunakan respons objek bawaan ASP.
Selain objek yang digunakan untuk mengirim, menerima, dan memproses data, ada juga beberapa objek yang sangat praktis yang mewakili aplikasi server aktif dan informasi pengguna individual di ASP.
Mari kita lihat objek aplikasi terlebih dahulu. Semua file .asp dalam direktori virtual yang sama dan subdirektori merupakan aplikasi ASP. Alih -alih menggunakan objek aplikasi, kami dapat berbagi informasi di antara semua pengguna aplikasi yang diberikan dan menyimpan data secara terus -menerus selama operasi server. Selain itu, objek aplikasi juga memiliki metode untuk mengontrol akses ke data dan peristiwa tingkat aplikasi yang dapat digunakan untuk memicu proses ketika aplikasi dimulai dan berhenti.
Mari kita pelajari tentang objek aplikasi bersama.
1. Atribut
Meskipun objek aplikasi tidak memiliki properti bawaan, kami dapat mengatur properti yang ditentukan pengguna menggunakan sintaks berikut, yang juga dapat disebut koleksi.
Aplikasi (Properti/Nama Koleksi) = Nilai
Kami dapat mendeklarasikan dan membuat properti dari objek aplikasi menggunakan skrip berikut.
< %
Aplikasi (myvar) = halo
Atur Aplikasi (myobj) = server.CreateObject (myComponent)
%>
Setelah kami menetapkan properti dari objek aplikasi, ia bertahan sampai layanan server web dimatikan sehingga aplikasi berhenti. Karena nilai -nilai yang disimpan dalam objek aplikasi dapat dibaca oleh semua pengguna aplikasi, properti objek aplikasi sangat cocok untuk memberikan informasi antara pengguna aplikasi.2. Metode
Objek aplikasi memiliki dua metode, yang keduanya digunakan untuk menangani banyak pengguna yang menulis data yang disimpan dalam aplikasi
1. Metode kunci melarang pelanggan lain memodifikasi properti objek aplikasi.
Metode kunci mencegah pelanggan lain dari memodifikasi variabel yang disimpan dalam objek aplikasi untuk memastikan bahwa hanya satu pelanggan yang dapat memodifikasi dan mengakses variabel aplikasi secara bersamaan. Jika pengguna tidak secara eksplisit memanggil metode buka kunci, server akan membuka kunci objek aplikasi setelah file .asp berakhir atau kali keluar.
Mari kita lihat program berikut yang menggunakan aplikasi untuk merekam jumlah akses halaman:< %
DIM NUMVISITSNUMVISITS = 0
Application.lockApplication (numvisits) = Application (numVisits) + 1
Application.unlock
%>
Selamat datang di halaman ini, Anda adalah < %= aplikasi (numVisits) %> Pengunjung di halaman ini!
Simpan skrip di atas di file .asp Anda dan tambahkan penghitung ke halaman Anda dengan mudah.
2. Bertentangan dengan metode kunci, metode buka kunci memungkinkan pelanggan lain untuk memodifikasi properti objek aplikasi.
Dalam contoh di atas, dalam contoh di atas, metode unlock membuka kunci objek sehingga klien berikutnya dapat meningkatkan nilai numvisits.
III
1. Application_onstart
Acara Application_onstart terjadi sebelum penciptaan pertama sesi baru (mis. Acara session_onstart). Acara Application_onstart dipicu ketika server web dimulai dan memungkinkan permintaan ke file yang terkandung dalam aplikasi. Pemrosesan acara Application_onstart harus ditulis dalam file global.asa.Sintaks dari acara Application_onstart adalah sebagai berikut:
<Bahasa skrip = scriptLanguage runat = server>
Sub Application_onstart.
Akhir sub
</script>
2. Applicati
on_onend
Acara Application_onend terjadi setelah acara session_onend ketika aplikasi keluar.
Mari kita lihat beberapa hal yang harus Anda perhatikan saat menggunakan objek aplikasi.
Objek bawaan ASP tidak dapat disimpan dalam objek aplikasi. Misalnya, setiap baris di bawah ini mengembalikan kesalahan.
< %
Atur Aplikasi (VAR1) = Sesi
Atur Aplikasi (VAR2) = Permintaan
Atur Aplikasi (VAR3) = Respons
Atur Aplikasi (VAR4) = Server
Atur Aplikasi (VAR5) = Aplikasi
Atur Aplikasi (VAR6) = ObjectContext
%>
Jika Anda menyimpan array di objek aplikasi, jangan ubah elemen yang disimpan dalam array secara langsung. Misalnya, skrip berikut tidak dapat dijalankan.
< % Aplikasi (StoredArray) (3) = Nilai Baru %>
Ini karena objek aplikasi diimplementasikan sebagai koleksi. Elemen Array StoredArray (3) Tidak ada penugasan baru yang diperoleh. Nilai ini akan dimasukkan dalam pengumpulan objek aplikasi dan akan menimpa informasi apa pun yang sebelumnya disimpan di lokasi ini. Dianjurkan agar Anda mendapatkan salinan array sebelum mengambil atau mengubah objek dalam array saat menyimpan array di objek aplikasi. Saat beroperasi pada array, Anda harus menyimpan semua array di objek aplikasi sehingga setiap perubahan yang Anda lakukan akan disimpan. Script berikut menunjukkan ini.
--- asp8a.asp ---
< %
redup myarray ()
Redim myarray (5)
Myarray (0) = halo
MyArray (1) = beberapa string lainnya
Application.lock
Aplikasi (StoredArray) = MyArray
Application.unlock
Response.redirect asp8b.asp
%>
--- asp8b.asp ---
< %
LocalArray = Aplikasi (StoredArray)
LocalArray (1) = di sana
Response.write LocalArray (0) & LocalArray (1)
Application.lock
Aplikasi (StoredArray) = LocalArray
Application.unlock
%>
Objek bawaan ASP yang sangat praktis yang memiliki fungsi serupa dengan objek aplikasi adalah sesi. Kami dapat menggunakan objek sesi untuk menyimpan informasi yang diperlukan untuk sesi pengguna tertentu. Ketika pengguna melompat di antara halaman aplikasi, variabel yang disimpan dalam objek sesi tidak dihapus, dan variabel -variabel ini selalu ada ketika pengguna mengakses halaman dalam aplikasi. Ketika pengguna meminta halaman web dari aplikasi, jika pengguna belum memiliki sesi, server web akan secara otomatis membuat objek sesi. Ketika sesi berakhir atau ditinggalkan, server mengakhiri sesi.
Objek sesi di server dapat dikelola dengan mengirim cookie unik ke program klien. Ketika pengguna meminta halaman dalam aplikasi ASP untuk pertama kalinya, ASP memeriksa informasi header HTTP untuk melihat apakah ada cookie bernama AspsessionID dalam pesan. Nilai untuk sesi ini, dan kirim nilai ini ke klien sebagai nilai cookie AspsessionID baru. Fungsi paling umum dari objek sesi adalah menyimpan preferensi pengguna. Misalnya, jika pengguna menunjukkan bahwa ia tidak suka melihat grafik, ia dapat menyimpan informasi dalam objek sesi. Selain itu, sering digunakan dalam program yang mengidentifikasi pelanggan. Perlu dicatat bahwa status sesi hanya dipertahankan di browser yang mendukung cookie, dan jika pelanggan mematikan opsi cookie, sesi tidak akan berfungsi.
1. Atribut
1. SessionID
Ses
Properti sionid mengembalikan identitas sesi pengguna. Saat membuat sesi, server menghasilkan identitas terpisah untuk setiap sesi. Pengidentifikasi sesi dikembalikan sebagai tipe data yang memanjang. Dalam banyak kasus sessionID dapat digunakan untuk statistik pendaftaran halaman web.
2. Timeout
Properti timeout menentukan batas waktu batas waktu untuk objek sesi aplikasi dalam hitungan menit. Jika pengguna tidak menyegarkan atau meminta halaman web dalam periode waktu tunggu ini, sesi akan berakhir.
2. Metode
Hanya ada satu metode untuk objek sesi, yang ditinggalkan. Jika Anda tidak secara eksplisit memanggil metode pengabaian, server akan menghapus objek -objek ini setelah sesi habis waktunya. Ketika server telah selesai memproses halaman saat ini, contoh berikut merilis status sesi.
< %Session.abandon %>
III
Objek sesi memiliki dua acara yang dapat digunakan ketika objek sesi dimulai dan dirilis dijalankan.
1. Acara sesion_onstart terjadi ketika server membuat sesi baru. Server memproses skrip sebelum menjalankan halaman yang diminta. Acara session_onstart adalah waktu terbaik untuk menetapkan variabel sesi, karena mereka ditetapkan sebelum mengakses halaman apa pun.
Meskipun objek sesi tetap ketika acara session_onstart berisi panggilan metode pengalihan atau akhir, server berhenti memproses file global.aSa dan memicu skrip dalam file yang memicu acara session_onstart.
Untuk memastikan bahwa pengguna selalu memulai sesi saat membuka halaman web tertentu, metode pengalihan dapat dipanggil di acara session_onstart. Ketika pengguna memasukkan aplikasi, server membuat sesi untuk pengguna dan memproses skrip acara session_onstart. Anda dapat memasukkan skrip dalam acara ini untuk memeriksa apakah halaman yang dibuka oleh pengguna adalah halaman startup, dan jika tidak, instruksikan pengguna untuk memanggil respons. Metode Redirect untuk memulai halaman web. Prosedurnya adalah sebagai berikut:
<Skrip runat = bahasa server = vbscript>
Sub session_onstart
startPage = /myapp/starthere.asp
surrentPage = request.serverVariable (script_name)
Jika strCCCOMP (Surrentpage, StartPage, 1) lalu
Response.redirect (startPage)
akhiri jika
Akhir sub
</script>
Program di atas hanya dapat berjalan di browser yang mendukung cookie. Karena browser yang tidak mendukung cookie tidak dapat mengembalikan cookie sesi, server membuat sesi baru setiap kali pengguna meminta halaman web. Dengan cara ini, untuk setiap server yang meminta, skrip session_onstart akan diproses dan pengguna akan dialihkan ke halaman startup.
2. Acara sesion_end terjadi atau diatur waktunya selama sesi.
Hal -hal yang perlu diperhatikan tentang penggunaan objek sesi.
Sesi ini dapat dimulai dengan tiga cara berikut:
1. Pengguna baru meminta akses ke URL yang mengidentifikasi file .asp dalam aplikasi, dan file global.ASA dari aplikasi berisi proses session_onstart.
2. Pengguna menyimpan nilai di objek sesi.
3. Pengguna meminta file .asp aplikasi, dan file global.ASA aplikasi menggunakan tag <POMPERTIF> untuk membuat instance objek dengan ruang lingkup sesi.
Jika pengguna tidak meminta atau menyegarkan halaman apa pun dalam aplikasi dalam waktu yang ditentukan, sesi akan secara otomatis berakhir. Nilai default untuk periode ini adalah 20 menit. Anda dapat mengubah pengaturan batas batas waktu default untuk aplikasi dengan mengatur properti timeout sesi di halaman properti Opsi Aplikasi di Internet Service Manager. Nilai ini harus ditetapkan sesuai dengan persyaratan aplikasi web Anda dan ruang memori server. Misalnya, jika Anda ingin pengguna yang ingin menelusuri aplikasi web Anda untuk tetap di setiap halaman hanya beberapa menit, Anda harus mempersingkat nilai batas waktu default untuk sesi Anda. Nilai batas waktu sesi yang terlalu lama akan menyebabkan terlalu banyak sesi terbuka dan menghabiskan sumber daya memori server Anda. Untuk sesi tertentu, jika Anda ingin menetapkan nilai batas waktu yang lebih kecil dari nilai batas waktu default, Anda dapat mengatur objek sesi
Properti timeout. Misalnya, skrip berikut menetapkan nilai batas waktu menjadi 5 menit.
< %Session.timeout = 5 %>
Tentu saja, Anda juga dapat menetapkan nilai batas waktu yang lebih besar dari pengaturan default. Anda juga dapat secara eksplisit mengakhiri sesi melalui metode pengabaian objek sesi. Misalnya, berikan tombol Keluar dalam tabel, atur parameter tindakan tombol ke URL file .asp yang berisi perintah berikut.
< %Session.abandon %>
Saat ini, kami telah mempelajari dua objek bawaan yang sering menggunakan ASP pada halaman web, terutama pada BBS berbasis web atau obrolan karena kedua objek ini sangat praktis dalam aplikasi aktual, penulis akan menerapkan apa yang telah kami pelajari di artikel berikutnya 4 objek ASP bawaan Saya telah menunjukkan aplikasi ASP lengkap kepada Anda. Harap perhatikan delapan belas seni bela diri dari desain situs web dinamis-Asp (9).