Session Nedir ? Nasıl Kullanılır?

Merhaba arkadaşlar,
Bu yazımda başlıktanda anlaşıldığı üzere Session konusuna değineceğim.
Session nedir ne gibi durumlarda kullanılır ve nasıl kullanılır gibi sorularını bu yazıda cevaplandıracağım.
Hadi başlayalım; öncelikle bakalım Session nedir ? Sessionlar kullanıcıya ait bilgilerin sunucu üzerinde tutulmasını sağlarlar. Bu bilgiler sunucu üzerinde tutulduğu için güvenli bir yöntemdir.
Sessionların süreleri vardır (bunu ayarlayabilirsiniz) ve bu süre zaman aşımına uğradığı zaman Session da tutulan bilgiler silinir. Aktif olan kullanıcı sistemden çıkış yaptığı zaman da
Session da bulunan bilgileri silebilirsiniz.
Peki Sessionları nerelerde kullanırız? Bir örnekle bu konuya da değinelim. Örneğin bir eticaret sitesi yazıyorsunuz ve kullanıcılar bu site üzerinden giriş yaparak oturum açıyor. Sitede sayfalar arasında
dolaşırken sistemde aktif olan kullanıcıyı bilmemiz gerekir, işte bu noktada Sessionlardan yararlanırız. Kullanıcı sepetine bir ürün eklediğinde bu bilgiden yararlanarak ürünü o kullanıcının sepetine yansıtırız ya da kullanıcı bir ürünü beğendiği zaman ürünü o kullanıcının favori ürünleri arasına ekleriz.
Şimdi bu örnek üzerinden Session kullanımını göstereyim. (Örnek Linq kullanarak yapıldı. Linq kullanımı için Linq to Sql Classes ve Linq Kullanımı yazılarımı inceleyeilirsiniz. )

Yukarıda ki örnekte Login.aspx penceresinde txtEposta, txtSifre ve giriş butonu bulunan bir login pencere olduğunu düşünün. Kullanıcı burada giriş yapmak için eposta ve şifresini girdikten snra eğer bilgiler doğruysa giriş başarılı olur ve Anasayfaya yönlendirilir. Fakat yönlendirme işleminden önce Login olan kullanıcıyı Session a atıyorum ve Session dan bu bilgileri kullanıyorum. Bu işlemi yaparken kullanıcının yazdığı Eposta ile veritabanından o kullanıcının kaydını çekiyorum ve bu işlem ile dönen sonucu (Users tablosunda o kullanıcıya ait kayıt) Session a atıyorum.

Kullanıcımız login oldu bigilerini Session a aldık peki farklı bir sayfada Sessiondaki bilgileri nasıl alırız ?

Uyarı ! Burada Users tablosundan bir nesne oluşturuyoruz ve Session da bulunan verileri buna atıyorum Bu şekilde yapma sebebimiz başta Session a kullanıcının bilgilerini bir satır halinde atmış olmamız. Yani eğer siz Session a sadece bir eposta bilgisi atıyorsanız bu şekilde tanımlama yapmanıza gerek olmaz ve bir değişken tanımlayıp değeri direk araya atabilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir