Saya menjalankan aplikasi ASP.NET 2.0 di IIS 6.0. Saya ingin batas waktu sesi menjadi 60 menit daripada 20 menit standar. Saya telah melakukan yang berikut ini
- Set
<sessionState timeout="60"></sessionState>
inweb.config
. - Tetapkan batas waktu sesi menjadi 60 menit di pengaturan IIS manager / situs Web / pengaturan konfigurasi ASP.NET.
- Tetapkan batas waktu idle hingga 60 menit di properti / kinerja kumpulan aplikasi.
Saya masih mendapatkan batas waktu sesi pada 20 menit. Apakah ada hal lain yang perlu saya lakukan?
Jawaban:
Apakah Anda menggunakan otentikasi Formulir?
Formulir otentikasi menggunakan nilai sendiri untuk batas waktu (30 menit secara default). Batas waktu otentikasi bentuk akan mengirim pengguna ke halaman login dengan sesi masih aktif. Ini mungkin terlihat seperti perilaku aplikasi Anda ketika waktu sesi habis sehingga mudah untuk membingungkan satu dengan yang lain.
Mengatur batas waktu formulir untuk sesuatu yang kurang dari batas waktu sesi dapat memberikan pengguna jendela untuk masuk kembali tanpa kehilangan data sesi apa pun.
sumber
Saya tidak tahu tentang web.config atau IIS. Tapi saya percaya bahwa dari kode C # Anda dapat melakukannya seperti
sumber
Session.Timeout
berbeda dari menggunakan web.config atau IIS, jadi saya menganggap itu untuk seluruh aplikasi.Gunakan blok kode berikut dalam file web.config Anda. Di sini waktu sesi default adalah 80 menit.
Gunakan tautan berikut untuk Sesi Timeout dengan pesan peringatan sembulan.
Contoh Timeout Sesi
FYI: Contoh di atas dilakukan dengan kontrol popup devexpress sehingga Anda perlu menyesuaikan / mengganti kontrol popup devexpress dengan kontrol popup normal. Jika Anda menggunakan devexpress, tidak perlu untuk menyesuaikan
sumber
Apakah Anda memiliki sesuatu di machine.config yang mungkin berlaku? Mengatur batas waktu sesi di web.config harus menimpa pengaturan apa pun di IIS atau machine.config, namun, jika Anda memiliki file web.config di suatu tempat di subfolder di aplikasi Anda, pengaturan itu akan menimpa yang ada di root aplikasi Anda.
Juga, jika saya ingat dengan benar, batas waktu di IIS hanya memengaruhi halaman .asp, bukan .aspx. Apakah Anda yakin kode sesi di web.config sudah benar? Seharusnya terlihat seperti:
sumber
Dalam situasi saya, itu adalah Application Pool. Sudah diatur untuk me-restart ketika idle selama xx menit. Ketika saya mengaturnya untuk tidak me-restart, sepertinya menggunakan nilai dari Web Config.
sumber
Itu biasanya semua yang perlu Anda lakukan ...
Apakah Anda yakin bahwa setelah 20 menit, alasan sesi hilang adalah karena tidak ada aktivitas ...
Ada banyak alasan mengapa sesi ini bisa dihapus. Anda dapat mengaktifkan pencatatan acara untuk IIS dan kemudian dapat menggunakan penampil acara untuk melihat alasan mengapa sesi itu dihapus ... Anda mungkin menemukan bahwa itu karena alasan lain mungkin?
Anda juga dapat membaca dokumentasi untuk pesan acara dan tabel acara terkait .
sumber
Jika Anda menggunakan Otentikasi, saya sarankan menambahkan berikut ini di file web.config.
Dalam kasus saya, pengguna akan diarahkan ke halaman login setelah waktu habis:
sumber
https://usefulaspandcsharp.wordpress.com/tag/session-timeout/
sumber
Sejak ASP.Net inti 1.0 (vNext atau nama apa pun yang digunakan untuk itu) sesi diimplementasikan secara berbeda. Saya mengubah nilai batas waktu sesi di
Startup.cs
,void ConfigureServices
menggunakan:Atau jika Anda ingin menggunakan
appsettings.json
file, Anda dapat melakukan sesuatu seperti:sumber
Anda dapat menemukan pengaturan di sini di IIS:
Itu dapat ditemukan di level server, level situs web, atau level aplikasi di bawah "ASP".
Saya pikir Anda dapat mengaturnya di level web.config di sini. Harap konfirmasikan ini untuk Anda sendiri.
sumber
Nilai batas waktu sesi IIS hanya untuk aplikasi .asp klasik, ini dikontrol pada konfigurasi IIS. Dalam kasus Anda Untuk aplikasi ASP.NET, hanya nilai batas waktu yang ditentukan web.config yang berlaku.
sumber
Batas waktu sesi default didefinisikan menjadi IIS hingga 20 menit
Ikuti prosedur di bawah ini untuk setiap situs yang dihosting di web IIS 8.5
sumber
jika Anda ingin batas waktu sesi untuk situs web daripada menghapus
tag dari file web.config.
sumber
Properti Timeout menentukan periode waktu habis yang ditetapkan untuk objek Sesi untuk aplikasi, dalam hitungan menit. Jika pengguna tidak menyegarkan atau meminta halaman dalam periode waktu habis, sesi berakhir.
sumber
Setelah mengubah nilai batas waktu sesi di IIS, silakan mulai ulang IIS. Untuk mencapai ini, buka command prompt. Ketik IISRESET dan tekan enter.
sumber