Waktu kedaluwarsa sesi default di asp adalah 20 menit, yang dalam banyak kasus tidak cukup. Saat ini, ada banyak permintaan dari pelanggan untuk login kembali, jadi saya telah menyiapkan artikel ini untuk kenyamanan teman-teman yang membutuhkannya waktu kedaluwarsa tidak diatur dalam program, maka sesi berakhir. Waktu akan dieksekusi sesuai dengan waktu kedaluwarsa yang ditetapkan oleh IIS. Waktu kedaluwarsa sesi default di IIS adalah 20 menit.
Pengaturan waktu harus ditempatkan terlebih dahulu
Misalnya
Copy kode kodenya sebagai berikut:
Session.Timeout=30 'SEESION berlaku selama 30 menit
Sesi(ID)=Rs(id)
Sesi(Nama)=Rs(Nama)
Sesi(Lulus)=Rs(Lulus
Gunakan properti Session.Timeout untuk mengatur periode waktu habis
Untuk pengguna yang masuk ke aplikasi ASP, jika pengguna tidak melakukan operasi lain apa pun dalam waktu default sistem, Sesi pengguna akan secara otomatis dicabut ketika waktu yang ditentukan habis, sehingga mencegah pemborosan sumber daya sistem. Properti TimeOut dari objek Session dapat digunakan untuk mengatur waktu kedaluwarsa dalam hitungan menit.
Copy kode kodenya sebagai berikut:
Sesi.TimeOut=MaxTime
Contoh kode: halaman (5.asp), contoh ini menunjukkan cara mengontrol akhir sesi.
Copy kode kodenya sebagai berikut:
<%@ bahasa=skrip vb%>
<% sesi.waktu habis=60 %>
<html>
<head><title>Kontrol waktu berakhir sesi</title><head>
<tubuh>
<%
siapa = Sesi.SessionID
Halaman Saat Ini=Permintaan.Variabel Server(SCRIPT_NAME)
Response.AppendTolog siapa & : & Halaman Saat Ini
Response.write <center>ID sesi Anda adalah: & siapa & <p>
Response.write Jalur halaman yang sedang Anda kunjungi adalah: & CurrentPage & <p>
jika Sesi(I)= maka
sesi(i)=1
kalau tidak
sesi(i)=sesi(i)+1
berakhir jika
Sesi. Abaikan
Response.write Halaman ini telah disegarkan & Sesi(i) & kali oleh Anda. </pusat>
%>
Dalam aplikasi Asp.net, banyak orang akan mengalami konflik dalam pengaturan kedaluwarsa Sesi. Diantaranya, ada empat cara untuk mengatur waktu berakhirnya Sesi:
1. Tingkat situs web global (yaitu server).
IIS-Website-Properties-Asp.net-Edit Configuration-State Management-Session Timeout (menit) -Diatur ke 120, yaitu 2 jam, artinya, jika pengguna saat ini tidak beroperasi setelah 120 menit, Sesi akan otomatis kedaluwarsa .
2. Tingkat situs web
IIS - Situs Web - Situs web tertentu (seperti DemoSite) - Properti - Asp.net Saat ini ada dua opsi, satu mengedit konfigurasi global dan yang lainnya mengedit konfigurasi.
Jika Anda mengedit konfigurasi globalnya, maka akan sama dengan konfigurasi sebelumnya.
Jika Anda mengedit konfigurasi, itu hanya akan berpengaruh pada situs web saat ini. Karena sebuah server mungkin memiliki banyak situs web independen.
1. Lanjutkan memilih Manajemen Status - Batas Waktu Sesi (menit) - atur ke 360, yaitu 360 menit. Efeknya sama seperti di atas, namun hanya berpengaruh pada website saat ini.
2. Batas waktu Otentikasi-Formulir-Masak Identitas, pilih 12:00:00, yaitu 12 jam. Ada delapan opsi yang tersedia:
00:15:00
00:30:00
01:00:00
02:00:00
04:00:00
08:00:00
12:00:00
1:00:00:00
Artinya, maksimal 24 jam dan minimal 15 menit. Ini adalah konfigurasi default. Itu dapat dikustomisasi secara bebas dalam aplikasi.
3. Tingkat penerapan
Sama seperti pengelolaan website, hanya saja cakupannya terbatas pada aplikasi saat ini.
4. Tingkat halaman
Di halaman tertentu, atur Session.Timeout = 30; untuk mengubah sementara waktu berakhirnya sesi pada halaman tertentu.
Untuk memeriksa waktu berakhirnya suatu Sesi, Anda dapat menggunakan
Copy kode kodenya sebagai berikut:
TimeSpan SessTimeOut = TimeSpan baru(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
TimeSpan SessTimeOut = TimeSpan baru(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
Diantaranya, pengaturan dua dan tiga tercermin di Web.config:
Copy kode kodenya sebagai berikut:
lihat salinan biasa ke cetak papan klip?
<?xml versi=1.0?>
<konfigurasi>
<sistem.web>
<mode autentikasi=Formulir>
<forms name=AuthLogin loginUrl=/Login.aspx proteksi=Semua batas waktu=360 slidingExpiration=true/>
</otentikasi>
<sessionState mode=InProc cookieless=false timeout=20 />
</sistem.web>
<jalur lokasi=Login.aspx>
<sistem.web>
<otorisasi>
<izinkan pengguna=* />
</otorisasi>
</sistem.web>
</lokasi>
</konfigurasi>
<?xml versi=1.0?>
<konfigurasi>
<sistem.web>
<mode autentikasi=Formulir>
<forms name=AuthLogin loginUrl=/Login.aspx proteksi=Semua batas waktu=360 slidingExpiration=true/>
</otentikasi>
<sessionState mode=InProc cookieless=false timeout=20 />
</sistem.web>
<jalur lokasi=Login.aspx>
<sistem.web>
<otorisasi>
<izinkan pengguna=* />
</otorisasi>
</sistem.web>
</lokasi>
</konfigurasi>
Prioritas keempat pengaturan di atas adalah tingkat halaman > tingkat aplikasi > tingkat situs web > tingkat server. Dengan kata lain, jika halaman disetel ke 20 menit dan situs web disetel ke 120 menit, maka 20 menit jelas merupakan waktu kedaluwarsa efektif.
Hal lain yang perlu diperhatikan.
Pada pengaturan kedua, atur batas waktu sesi (SessionState) menjadi 120 menit, dan gunakan otentikasi formulir pada saat yang sama. Atur ke 00:15:00, yaitu 15 menit, dan slidingExpirationo adalah false waktu yang mulai berlaku?
Hasil yang valid adalah setting SessionState yaitu 120 menit.
Jika waktu berakhirnya Sesi telah diatur tetapi tidak berlaku, silakan periksa konfigurasi di atas.
Metode lain ditemukan online
1. Sistem operasi: Windows Server 2003
Langkah-langkah: Mulai->Alat Administratif->Manajer Layanan Informasi Internet (IIS)->Situs Web->Situs Web Default->Klik kanan Properti->Direktori Beranda->Konfigurasi->Opsi->Aktifkan Status Sesi->Batas Waktu Sesi (di sini Tetapkan batas waktu yang Anda inginkan dalam hitungan menit). OKE.
2. Mengatur waktu berakhirnya Sesi pada aplikasi ASP.NET
Dalam aplikasi web seperti ASP.NET, Sesi adalah metode umum yang digunakan untuk menyimpan status pengguna. Namun, karena ruang memori server terbatas, pengaturan waktu berakhirnya sesi diperlukan. Bagaimana cara mengatur waktu kedaluwarsa Sesi di ASP.NET? Sangat sederhana. Cukup ubah konfigurasi web.config.
Metode modifikasi spesifiknya adalah sebagai berikut, konfigurasikan sebagai berikut di web.config
Copy kode kodenya sebagai berikut:
<sistem.web>
<sessionState mode=Waktu habis InProc=30/>
</sistem.web>
Yang dimaksud dengan waktu berakhirnya Sesi adalah 30 menit. Artinya, jika pengguna saat ini tidak beroperasi setelah 30 menit, Sesi akan otomatis berakhir.
3. Di halaman cs yang memanggil Session, tuliskan yang berikut ini pada event Load
Copy kode kodenya sebagai berikut:
Sesi.Waktu habis = 30;
4. Simpan sesi di layanan negara asp.net
Copy kode kodenya sebagai berikut:
<sessionState cookieless=false timeout=480 mode=StateServer stateConnectionString=tcpip=127.0.0.1:42424 sqlConnectionString=sumber data=127.0.0.1;user id=sa;password= />