ASP.NET’de Web.config dosyasında SessionState etiketi aracılığıyla ve timeout özelliği ile Session’un ne kadar süreliğine bilgiyi saklayacağını ayarlayacağız 2 farklı yöntemle.
ASP.NET SessionState ile Session’un bilgileri tutma süresini uzatma
ASP.NET’de Web.config dosyasında SessionState etiketi aracılığıyla ve timeout özelliği ile Session’un ne kadar süreliğine bilgiyi saklayacağını ayarlayacağız 2 farklı yöntemle.
Öncelikle birinci yöntemde Global.asax dosyası yardımıyla Session_Start metodundan faydalanarak Session veya uygulamanın o anki oturum için birçok özelliğini ayarlayabilirsiniz ayarladığınız özellikler Session.TimeOut özelliğinden belirtilen süre için geçici olarak saklanacaktır Session’da şimdi bu örneğinimizde Session_State metodunda TimeOut(Zaman Aşımı) süresini ayarlayacağız böylelikle bilgilerin Session’da ne kadar süre tutulacağını belirteceğiz.
Global.asax Kodu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | namespace Proje { using System; using System.Web; public class Global : HttpApplication { protected void Application_Start(object sender, EventArgs e) { } protected void Session_Start(object sender, EventArgs e) { Session.Timeout = 80; //TimeOut özelliğine aktarılacak değer dakika olarak aktarılmaktadır. } protected void Application_BeginRequest(object sender, EventArgs e) { } protected void Application_AuthenticateRequest(object sender, EventArgs e) { } protected void Application_Error(object sender, EventArgs e) { } protected void Session_End(object sender, EventArgs e) { } protected void Application_End(object sender, EventArgs e) { } } } |
Üstteği kodda gördüğünüz gibi Session_Start ile Session(Oturum) başladığında bilgilerin Session(Oturum)‘da 80 dakika tutulacağını belitiyoruz 80 dakika sonrasında ise Session’daki bilgiler silinecektir.
Web.config Kodu
1 2 3 | <system.web> <sessionState mode="InProc" timeout="80"/> </system.web> |
Üstteki kodda’da gördüğünüz gibi sessionstate etiketi system.web etiketi arasına yazılmaktadır ve timeout özelliğine 80(dakika) olarak istediğiniz değerini belirtebilirsiniz. Varsayılan olan değer 20 dakikadır.
Merhaba timeout süresini honting sunucularda yada bizim kullandığımız sunucuda süre 20 dk deniyor. bu süre uzatılabilirmi. ve en önemlisi ben bir işlem yaparken başka işim çıktı ve gittim geldiğimde süre bittiğinden şifremi yazıp kaldığım yerden devam edebilirmiyim. Teşekkürler
Timeout süresini arkaplanda javascript settimeout veya farklı yöntemler ile bittiğini algılayıp kullanıcı karşısına şifre girebileceği bir ekran çıkarır ve arkaplanda session’i yenilerseniz olur yalnız şuna dikkat etmelisiniz session süresi dolduğunda session’daki tüm değerler ölür onun için böyle devam edilmesini istediğiniz bir kurgu varsa session içerisindeki değerleri kullanıcı bazlı olarak db veya farklı şekilde depolamalısınız ki kullanıcı giriş yapıp işlemlerine devam edeceğinde sessionda olması gereken fakat önceki session öldüğü için sistem patlamasın.
Yazınız için teşekkürler. Örnek bir uygulama kaynak kodlu onere bilirsiniz
Anlattığım kodu ile alakalı bende bulunan bir örnek maalesef yok ve önerebileceğim bir kaynak sitede tam olarak anlattığım konu ile alakalı bulamadım iş yoğunluğum olmasaydı size örnek bir tane yapıp gönderebilirdim fakat maalesef çok fazla yoğunum.