Dalam program debugging, kadang -kadang saya perlu tahu berapa banyak variabel sesi yang digunakan dan apa nilainya? Karena objek sesi menyediakan koleksi yang disebut konten, kita dapat mencapai tujuan melalui untuk ... setiap loop: redup strname, iloop, iloop
Untuk setiap strname di sesi.contents
Response.write strname & " -" & session.contents (strname) & "<br>"
Secara umum, kode di atas dapat bekerja dengan baik. Tetapi ketika variabel sesi adalah objek atau array, hasil pencetakan salah. Dengan cara ini, kami memodifikasi kode sebagai berikut: "Pertama -tama lihat berapa banyak variabel sesi yang menggunakan? Response.write" ada "& session.contents.count & _
"Variabel Sesi <p>" "
Redup strname, iloop
'Gunakan untuk masing -masing untuk memeriksa sesi
'Jika variabel sesi adalah array?
Jika isArray (sesi (strname) lalu
'Setiap elemen dari array cetak melingkar
Untuk iloop = lbound (sesi (strname)) ke ubound (sesi (strname))
Response.write strname & "(" & iloop & ") -" & _
Sesi (strname) (iloop) & "<br>"
Berikutnya
Kalau tidak
'Dalam kasus lain, cukup cetak nilai variabel secara sederhana
Response.write strname & " -" & session.contents (strname) & "<br>"
Akhiri jika
Variabel sesi berikutnya terkadang tidak dapat bekerja, mengapa? Ada banyak kemungkinan:
Pertama, jika klien tidak mengizinkan cookie beroperasi, sesi akan gagal. Karena sesi bergantung pada cookie.
Kedua, sesi ini memiliki pengaturan waktu kegagalan. Pengaturan default adalah 20 menit. Anda dapat memodifikasinya seperti ini: Web Diretory-> Properties-> Virtual Directory-> Pengaturan Aplikasi-> Konfigurasi-> Opsi Aplikasi-> Sesi Timeoutout
Atau di ASP, tulis kode seperti itu: session.timeout = 60.
Ketiga, sesi terkait dengan aplikasi web tertentu. Jika pengguna menelusuri dari /products/default.asp ke /jobs/default.asp, itu juga dapat menyebabkan sesi re -creation. Bagaimana cara menghapus variabel sesi yang tidak lagi dibutuhkan, tetapi tidak membuat sesi gagal? Di ASP3.0:
Session.contents.remove "nama variabel"
Anda dapat menghapus variabel.
Di ASP2.0:
Set sesi ("nama variabel") = null
Dapat menghapus variabel.
Di ASP3.0,
Session.contents.removeal
Anda dapat menghapus semua variabel sesi dan sesi. Apa arti < %@ enableSessionState = True %> di bagian atas halaman ASP? IIS menggunakan teknologi yang disebut pelacakan sesi untuk memastikan bahwa setiap variabel sesi tersedia di setiap halaman. Ketika pengguna mengunjungi halaman ASP tertentu, IIS pertama -tama akan menyiapkan setiap variabel sesi untuk halaman ini, yang tentu saja akan memiliki efek kinerja. (Biaya menggunakan variabel sesi selalu sangat tinggi!)
Jika Anda memiliki 100 halaman dan hanya 5 halaman yang digunakan untuk sesi, maka untuk kinerja keseluruhan, Anda hanya perlu mengaturnya pada 5 halaman tersebut:
< %@ EnableSessionState = True %>
Dan halaman lain diatur ke:
< %@ EnableSessionState = false %>