Dalam program debugging, kadang -kadang saya perlu tahu berapa banyak variabel sesi yang digunakan dan apa nilainya? Karena objek sesi memberikan koleksi yang disebut konten, kita dapat mencapai tujuan melalui untuk ... setiap loop
Redup strname, iloop
Untuk setiap strname di sesi.contents
Response.Write Strname & - & Sesion.Contents (Strname) & [Br]
Berikutnya
Dalam keadaan normal, 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 lihat berapa banyak variabel sesi yang digunakan?
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
Berikutnya
Variabel sesi terkadang tidak bisa berhasil, mengapa? Ada banyak kemungkinan: pertama, jika klien tidak mengizinkan cookie untuk 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-> Waktu sesi atau tulis kode ini: session.tim eout = 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? Dalam ASP3.0: sesi. Dalam ASP2.0: Set Sesi (Nama Variabel) = NULL untuk menghapus variabel. Di ASP3.0, sesi. Apa arti 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 itu:
< %@ EnableSessionState = True %>
Dan halaman lain diatur ke:
< %@ EnableSessionState = false %>