Üye Girişi Yapınız     


    E-Posta
    

    Şifreniz
    



Şifremi Unuttum


Ana Sayfa Site Hakkında İletişim Ziyaretçi Defteri Döküman İndir Makale Ekle Haber Ekle

     Asp.Net - Oturum Durumu Uygulaması
     admin     27.01.2013     13:34:04

Bir önceki dersimizdek, asp.net session state özelliklerini vermiştik. Şimdi konu ile ilgili bir uygulama yapalım. Bu uygulamada, Session State(Oturum Durumu) özelliği ile bir Web sitesine giriş yapmış kullanıcının bilgileri, o siteye kaç kullanıcının giriş yaptığı gibi bilgileri tutulabiliriz. Bu özelliklere örnek olarak 3 sayfadan oluşan bir site aşağıdaki gibi tasarlanmıştır.



Kullanıcı sayfaya giriş yaptıktan sonra kullanıcı adını yazıp Session Ekle düğmesine bastığında o kullanıcı için bir Session(Oturum) oluşturulur. Kullanıcı adı oturumunun kimlik bilgisine atılır ve burada saklanır. Kullanıcı için bir Session ID oluşturulur.

Sayfada bulunan ziyaretçi sayısı ise projenin Global.ascx sayfasında gerekli değişiklikler yapılarak elde edilebilir. Bir oturum açıldığında ziyaretçi sayısını bir artıracak ve bir oturum kapandığında sayıyı bir azaltacak bir yapıda olmalıdır.

Default.aspx.cs 

protected void Page_Load(object sender, EventArgs e)
{
        Response.Write("Ana sayfaya hoşgeldiniz.");
        
lblZiyaretciSayisi.Text = Application["ZiyaretciSayisi"].ToString();
        
lblSessionId.Text = Session.SessionID.ToString();

        
if (Session["Kimlik"] != null)
            
lblSession.Text = Session["Kimlik"].ToString();
}

protected void  btSessionEkle_Click(object sender, EventArgs e)
{
        
Session["Kimlik"] = tbSession.Text;
        
lblSession.Text = Session["Kimlik"].ToString();
}

Sayfa2.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
        
Response.Write("Sayfa 2’ye hoşgeldiniz.");
        
lblZiyaretciSayisi.Text = Application["ZiyaretciSayisi"].ToString();
        
lblSession2.Text = Session["Kimlik"].ToString();
        
lblSessionId.Text = Session.SessionID.ToString();
}

Sayfa3.aspx.cs

protected void Page_Load(object sender, EventArgs e)

        
Response.Write("Sayfa 3’e hoşgeldiniz.");
        
lblZiyaretciSayisi.Text = Application["ZiyaretciSayisi"].ToString(); 
        
lblSession3.Text = Session["Kimlik"].ToString();
        
lblSessionId.Text = Session.SessionID.ToString();
} 

Global.ascx

void Session_Start(object sender, EventArgs e) 
{
        
if (Convert.ToInt32(Application["ZiyaretciSayisi"]) == 0)
            
Application["ZiyaretciSayisi"] = 1;
        
        else 
        
{
            
int deger = Convert.ToInt32(Application["ZiyaretciSayisi"]);
            
deger += 1;
            
Application["ZiyaretciSayisi"] = deger; 
        
}
}
    
void Session_End(object sender, EventArgs e)
{
    
int deger = Convert.ToInt32(Application["ZiyaretciSayisi"]);
    
deger -= 1;
    
Application["ZiyaretciSayisi"] = deger;

Yukarıdaki kod parçaları ile oluşturulan sitede kullanıcı adı ile bir oturum oluşturulmakta, bu kullanıcı adına ait SessionID ve sayfada o an kaç ziyaretçi olduğunu göstermektedir. Sayfalar arasında geçiş yapılsa dahi oturum kendini kapatmayacaktır ve her sayfada aynı kullanıcı adı ve aynı SessionID gösterilecektir.

Sayfanın URL’inde kullanıcıya ait SessionID tutulabilir. Bunun için projenin web.configdosyasında cookieless özelliğinin açık olması gerekmektedir.

<system.web>
    <sessionState mode="InProc" timeout="1" cookieless="true"></sessionState>
</system.web>

 

(Kaynak : www.bidb.itu.edu.tr)

 

Facebook'ta Paylaş    
Diğer ASP.Net İçerikleri       Tüm Yazılar        Ana Sayfa


  =>Soru Sorun veya Yorum Yazın...

İsim Giriniz :
  

  =>Yapılan Yorumlar...