Web Config Session Sürelerini Ayarlama
Merhaba arkadaşlar bugün sizlere Session Timeout sürelerini istediğimiz koşullar kapsamında ayarlamayı anlatacağım.
Execution Timeout:
ASP.Net taleplerinin maksimum yaşama süresidir. Bu süre dolduğu vakit request, üzerinde herhangi bir hata oluşması koşulunda veya oluşmaması koşulunda IIS tarafından derhal iptal edilir. Web.config üzerinde debug değeri true atandığında ise IIS talebi iptal etmez ve süre devam eder.
Aşağıdaki kod parçacağı Saniye cinsinden değer almaktadır. Default değeri 110 saniyedir. Biz örneğimizde 120 saniye almayı tercih ettik.
Session Timeout:
Kullanıcıların uygulamada bulundukları ve geçirdikleri süre zarfında Session süresini uzatmayı sağlar.
Aşağıdaki kod parçacığında Dakika cinsinden değer almaktadır. Default değeri 20 dakikadır. Biz örneğimizde 30 dakika almayı tercih ettik.
Authentication Timeout:
Uygulamaya forms authentication ile login olmuş kullanıcının tekrardan login olabilmeleri için ve cookie sürelerini ayarlayabilmek ve uzatabilmek için kullanılır.
Aşağıdaki kod parçacığı Dakika cinsinden değer almaktadır. Default değeri 30 dakikadır. Biz örneğimizde 40 dakika almayı tercih ettik.
Ayrıca slidingExpiration değerine true atandığı vakit her yeni talep timeout süresini sıfırlar, yani kullanıcı 10. dakikada request göndermeye çalıştığında timeout süresi 20 dakikada sıfırlanıp tekrar 30 dakika olmaktadır. Bu özellik default olarak true gelmektedir.
Bir başka makalede görüşmek dileğiyle…
Sedat Demirdoğan
Selam Sedat hocam;
Session Timeout’u kullanmak istediğimde, sayfada aktif olarak çalışıyor olmamam rağmen session timeout’a düşüyor. Boşta beklediğim süreyi ölçmesi gerekmiyormu ? Nerde yanlış yapıyor olabilirim ?
web.config’te system.web altına tanımlamayı yaptım.
layout sayfamda şu jquery ile login’e yönlendirmek istiyorum. Ama çalışıyor olsamda session timeout’a düşüyor.
//session end
var sessionTimeoutWarning = @Session.Timeout-1;
var sTimeout = parseInt(sessionTimeoutWarning) * 60 * 1000;
setTimeout(‘SessionEnd()’, sTimeout);
function SessionEnd()
{
alert(“Your Session has expired, Please log in again”);
window.location = “/Home/LogOff”;
}
neden olabilir bir fikir verebilirmisin ?
1. IIS deki ayarlar geçerlidir.
2. Oturum bilgileri Application Idle Timeout ile ilişkili, bu herhangi bir şekilde sonlandığında session da sonlanmış olur.
Sunucunuz yoksa IIS ayarları yapamazsınız, bu durumda oturum bilgilerini veritabanında saklayabilirsiniz yada timeinterval gibi gelişigüzel çözümler kullanabilirsiniz.
https://msdn.microsoft.com/en-us/library/ms178586.aspx
Teşekkürler hocam.