8/08/2005

Session State ve ViewState

Başlangıç seviyesindeki ASP.net programcılarının büyük ihtimalle kafasını kurcalayan en büyük sorulardan biri de ne zaman Session State ne zaman View State kullanmaları gerektiğidir.

Bu konuya en efektif şekilde nasıl yaklaşılması gerektiğine bakalım;

Büyük boyuttaki veri konteynerleri için(Ör:datagrid) her zaman ViewState kullanmaktan kaçının. Çünkü ViewState kullanımı sayfa boyutunuzu şişirecek ve de size server'dan geri gönderilen cevabın ulaşma süresini uzatacaktir.

Önemli bilgileri saklamak istediğinizde ViewState kullanımından kaçının ve Session State'i tercih edin. Her ne kadar ViewState'te saklanan veriler opsiyonel olarak encrypt edilebilse de verilerinizin en güvenli hali kullanıcıların makinalarına ulaşmamış halidir. Bu yüzden Session State çok daha güvenli bir çözüm sunar.

Çoğu obje ViewState için serialize edilmemiştir ve de büyük boyutlarda ViewState'lere yol açarak sayfalarınızın performansını düşürebilir. (Ör: ViewState içerisinde DataSet saklamak )

Sayfa boyutlarını çok şişirmeyeceğinden emin olduğunuz veri tipleri için (Or: herhangi bir string, bir değişken, array vs.) ViewState kullanmayı tercih edebilirsiniz.

ViewState nedir?
Viewstate, herhangi bir asp.net sayfanızda postback'ler arasında kaybetmek istemediğiniz verileri saklamanıza yarayan bir asp.net konteyneridir.

Session State Nedir?
Session, herhangi bir kulanıcının web aplıasyonunuzla interaktif olarak iletişim halinde kaldığı süreçtir. Session State'i ise, bu süreç süresince, içerisinde veri saklayabileceğiniz bir konteyner gibi düşünebilirsiniz.