Asp.Net İle Uğraşan Müridler
-
Merhaba arkadaşlar,
Ben uzun yıllardır desktop programları ile uğraşıyorum. Yakın zamanda web programlama geçtim. İlk dikkatimi çeken konu veritabanı ile uğraştığım için Session lar oldu. Sayfalar arasında gezinirken Session ile veri taşındığını biliyoruz. Ben aynı işlemi static bir clasın static üyeleri ilede yapıyorum. Madem ben static üyelerle veritaşıyabiliyorum(Test ettim bunu) Session kullanmaktaki mantık nedir.
-
Hafıza yönetimi eş zamanlı olarak yüzlerce oturum acıldıgını düşünelim her oturum için o class'dan bir adet obje yaratılıcak ve bu objeler daha sonra hafızaya atılıcak.Session ise hem memoryde daha az yer tutuyor hemde yönetimi web sunucusu tarafından yapıldıgı için garbage collection'ı otomatik yapılabilir.Aynı zamanda programını cloud gibi bir sistemle birden fazla sunucuya taşıdıgın zaman sessionlar daha avantajlı
-
Öncelikle kardeşim horbye konuyu up ladığı için teşekkür ederim. Sandman sende ayrıca vermiş olduğun bilgiden dolayı teşekkür ederim. Olay anlalışmıştır. Tam gaz sessionlarla hayata kaldığımız yerden devam .
-
Shimarik bunu yazdı:
-----------------------------
Öncelikle kardeşim horbye konuyu up ladığı için teşekkür ederim. Sandman sende ayrıca vermiş olduğun bilgiden dolayı teşekkür ederim. Olay anlalışmıştır. Tam gaz sessionlarla hayata kaldığımız yerden devam .
-----------------------------bende aynı şenin durumundayım, kitaptan gidiyorum ve şuğan .nf 2.0 ile proje yapıyorum. sen naısl öğrenmeye çalışıyorsun? kaynakların neler?
-
anlamadım neden session kullanıyoruz mu demek istiyorsun?
-
mesela
static bir classın var ve Id diye de int bir propertysi var.
şimdi sen her üye giriş yaptığında bu static class ın içindeki id yi üye id ile güncelliyorsun diyelim.
Holy'nin Idsi: 1
Sharp'ın Idsi: 5
Önce holy girsin sisteme static classda id propertyisine 1 verdin.holy geziyo sitede. sonra ben geldim login oldum benim id değerim 5.gittin static classın id propertysini 5 yaptın.
artık holyninde idsini çağrınca 5,benimde 5.
o yüzden webde session kullanılmalı
-
statick adı üstünde dinamik değildir. Veri taşır fakat bir veri taşır dispose(yada null ) etmen gereklidir ki yeni veri aktara bilesin .
Daha başka bir değişle uygulamanı başlattın ve statick değişkenine değer verdim sen aksini belirtmediğin sürece o değer geçerlidir. Yenilenmez instance çıkarılmaz .
ve Yukarda da izah etmişler ama paylaşayım , sunucu yoğunlupğuna sebeb olur .
Sayfalar aRASI veri taşaımada viewstate ve session un yanında queystrignleride aktif olartak kullanabilirsin güvenli değil dersen şifreli bir şekilde queryde kullanabilirsin.
Sessionları tercih sebeblerinden de her nesne için ona ait session oluşturulmasıdır.
örn: Session["ADA"] session[mada] gibi web.config te veya kodda bir yerde aksini belirtmediğin taktirde sessionun timeout süresi 20dk dır.
Bunu uzatabilirsin kısaltabilirsin ama timeout yediği zaman session[ada] null olur . Bu sebele kullanırken ilk nullable kontrolü de yapmayı ihmal etmeyesin .
Windows yazdığını söylemiştin destop yazılımlardan web e geçiş sırasında yaşadığın bu ? gayet mantıklıdır ;)