1. Anasayfa
  2. ASP.Net

ViewState ile Session Arasındaki Farklar


0

Bu yazımda ASP.NET durum yönetimi (State Management) altında bulunan ViewState ile Session Items nesnelerinin arasındaki farklarını inceleyeceğiz.

ViewState

Verileri saklamak için default olarak kullanılan bir tekniktir. Sayfa post back olduğunda ve geri geldiğinde aynı sayfadaki değerlerin saklanması işlemini ViewState yapar. Sayfanın tarayıcıdan dönerken ki haline ulaşabilmemizi ve sayfa geri gönderilirken otomatikman tekrar bu bilgilerle gitmesini sağlar. Dolayısıyla sayfalar arası veri taşımaz.


Resim-1

ViewState iki türlü kullanılır;

  1. ASP.NET tarafından otomatik olarak yönetilmesidir. Kapatılmadığı sürece arkada çalışmaya devam eder.
  2. Kod kısmında koleksiyon olarak kullanılmasıdır.

Peki ViewState nasıl çalışır?

ASP.NET arka tarafta gizli bir input kontrolü yaratır. Bu input kontrolünün içinde, sayfadaki istenilen kontrollerin bazı propertylerini base64 koduna çevirerek saklar. Bu gizlenmiş ViewState kontrolü sayfayla birlikte yaşar ve seyahat eder. Eğer dikkatli ve kontrollü olarak kullanılmassa, View State kontrolümüz gittikçe şişer ve ciddi performans sıkıntılarına sebep olur. Üstelik aspx sayfamızın içinde bulunan bir kontrol olduğu için hem post back hem de request süresini uzatır.

Session

Kullanıcılara ait verilerin sunucu üzerinde tutulmasını sağlayan yapıdır. Kullanıcı siteden çıkış yaptığında veya session zaman aşımına uğradığında o kullanıcı için bilgiler silinir diğer kullanıcıların bilgileri tabiki de session üzerinde tutulmaya devam eder. Çok güvenli bir yöntemdir. Çünkü bilgiler sunucu tarafında tutulmaktadır. Önemli bilgiler gizli tutulması gerekiyor ise session yöntemi tercih edilmelidir.


Resim-2

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 1
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Sakarya doğumlu Yusuf Akdemir, Sakarya Üniversitesi Hendek MYO Bilgisayar Programcılığı mezunudur. DELL ProSupport Warranty Technical Support ekibinde çalışmıştır. Şu anda .Net Developer olarak çalışmaktadır. Uzmanlık alanları: C#, Microsoft SQL Server, ADO.NET, LİNQ, Entitiy Freamwork, OOP, ASP.NET, MVC, WPF, Microsoft Visual Studio’dur.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir