Session Kontrol

Kullanıcı web sayfasına girdiğinden itibaren, oturum boyunca bilgilerinin sunucu üzerinde tutulmasını sağlayan bir yöntemdir. Bir oturum ise sayfanızın tarayıcıda açılıp kapanıncaya geçen süresidir.

 

Session’ı neden kullanırız?

Özellikle üyelik gerektiren bir sitemiz varsa; kişinin giriş yapmadan diğer sayfaları görmesini istemiyorsak bunun kontrolünü yaptırabilmek için Session kontrollerini kullanırız ya da sayfalar arasında değer aktarımını sağlamak için de Session kullanabiliriz.

Session ile ilgili bilmemiz gereken 3 temel işlem vardır.

  1. Session oluşturup, içerisine veri aktarmak
  2. Sessiondaki bilgiyi kontrol etmek
  3. Session bilgisini temizlemektir.

 

1. SESSİON OLUŞTURUP, İÇERİSİNE VERİ AKTARMAK

Session tanımlamak için iki yöntem vardır.

Session[“SessionAdi”] = “Değeri”;

veya

Session.Add(“SessionAdi”,”Değeri”);    şeklinde tanımlayabilirsiniz.

Örneğin Session değişkenimizin adı kullanici_adi  olsun. Kişi sisteme kullanıcı adı ve şifresiyle doğru giriş yaptığını ve kullanıcı adının “Mert” olduğunu öğrendiğimizi düşünelim.  Buna göre kullanici_adi  session değişkenini tanımlayıp içerisine Mert değerini aktarmak istiyoruz. Bunun için tek yapmamız gereken;

Session[“kullanici_adi”]= “Mert”; şeklinde

veya

Session.Add(“kullanici_adi”, “Mert”); yazmaktır.

 

2.SESSİONDAKİ BİLGİYİ KONTROL ETMEK

Session kontrolü olarak kaydettiğimiz bir değişkenin değerini istediğimiz her sayfanın kod kısmında kontrol edebiliriz. Session değerini istediğimiz bir kontrol elemanının üzerine yazdırabiliriz, bir değişken olarak kullanabiliriz.

Bunun için;

Session[“SessionAdi”] olarak kullanabilirsiniz.

 

Örnekler:

  • Örnek 1: Form üzerindeki bir label’a kullanici_adi adlı Session değerimizi yazdıralım.

Label1.Text= Session[“kullanici_adi”].toString();

 

  • Örnek 2: Ekrana kullanici_adi adlı Session değerimizi yazdıralım.

Response.Write( Session[“kullanici_adi”].toString());

 

  • Örnek 3: kullanici_adi adlı Session içerisine aktarılmış bir değer var mı kontrol edelim. Bunun için aşağıdaki ifadeyi yazabiliriz.

          if(Session[“kullanici_adi”]!=null)

         Biliyorsunuz null değeri boş anlamına gelmektedir. Buradaki ifadeye göre Session[“kullanici_adi”]null’dan farklı mı yani boş değilse, doluysa anlamlarına gelmektedir. Yani içerisine bir değer aktarıldıysa belirlenen                      işlemleri yap denilmektedir.

 

 

3.SESSİON BİLGİLERİNİN TEMİZLENMESİ

Bir Session değişkeni oturum sonlandığında ( Tarayıcı kapatıldığında ) otomatik olarak iptal edilir ya da belirlenen bir sürenin aşılması durumda Session değişkeni iptal edilebilir.

Eğer Session değişkeni için süre belirtilmediyse,  varsayılan olarak 20 dk Session değişkeni  var olacaktır. ( 20 dk, siteye giren kullanıcının hiçbir işlem yapmadan geçirdiği süre)

 

TimeOut

Tanımladığınız Session değişkeninin yaşam süresini kendiniz belirlemek istiyorsanız TimeOut özelliğini kullanmalısınız.

Session.TimeOut = Dakika şeklinde yazmanız gerekmektedir.

 

Örneğin

Session.TimeOut=10; Böylece site üzerinde tanımlı olan tüm Session değişkenlerinin yaşam süresi 10 dakika olarak belirlenmiştir. 10 dakika sonra Session içerisindeki bilgiler silinecektir.

 

Abandon

Session nesnesini aniden sonlandırmak istediğimizde Abandon komutunu kullanırız. Örneğin kullanıcı çıkış butonuna tıkladığı zaman oturumu sonlandırmasını isteriz. Arka planda tanımlı tüm sessionların silinmesini isteriz. Bunun için butonun tıklama olayında yazmamız gereken kod;

Session.Abandon(); komutudur.

 

Session Kontrolünün kullanımı için aşağıdaki videoyu izleyebilirsiniz.

 

https://youtu.be/33ie9nWlH9g