Direkomendasikan: Interpretasi cara menggunakan variabel objek sesi dengan benar di ASP Siapa pun yang menggunakan ASP tahu bahwa objek sesi menyimpan informasi yang diperlukan untuk sesi pengguna tertentu, dan ketika pengguna melompat di antara halaman aplikasi, variabel yang disimpan dalam objek sesi tidak dibersihkan, dan variabel -variabel ini selalu ada ketika pengguna mengakses halaman dalam aplikasi. Ini dapat mengurangi kompleksitas program dan meningkatkan efisiensi pemrograman, tetapi juga memiliki banyak kekurangan.
1. Atribut1. SessionID
Properti Sesi Sesi 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. Metode Abandon menghapus semua objek yang disimpan dalam objek sesi dan melepaskan sumber objek ini. 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%>
AKU AKU AKU. Acara
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 ada ketika acara session_onstart berisi panggilan metode pengalihan atau akhir, server akan 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:
<ScripTrunat = ServerLanguage = VBScript>
Subsesional_onstart
startPage =/myapp/starthere.asp
surrentPage = request.serverVariable (script_name)
ifstrComp (currentpage, startPage, 1) lalu
Response.redirect (startPage)
endif
Endsub
</script>
Program di atas hanya dapat berjalan di browser yang mendukung cookie. Karena browser yang tidak mendukung cookie tidak dapat mengembalikan Sesi 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 session_end terjadi ketika sesi ditinggalkan atau diatur waktunya.
Mengenai hal -hal yang perlu diperhatikan saat menggunakan objek sesi, silakan merujuk ke artikel sebelumnya.
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. Pengaturan batas batas waktu default untuk suatu aplikasi dapat diubah 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 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 properti batas waktu dari objek sesi. 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. Properti sesi. Timeout menentukan nilai batas waktu. 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%>
Bagikan: Bagaimana ASP mencegah pengiriman formulir yang berulang Pengguna sering mengalami beberapa situasi yang tidak terduga ketika mengirimkan formulir, seperti menyegarkan halaman beberapa kali, menekan tombol belakang, dll. Jika langkah -langkah kontrol tidak diambil, itu akan menyebabkan masalah pengajuan formulir yang berulang. Metode pencegahan yang diperkenalkan dalam artikel ini terutama terdiri dari empat subrutin. Dalam aplikasi yang relatif sederhana, Anda hanya perlu menempatkan kode -kode ini di file yang disertakan dan secara langsung merujuknya; untuk itu