Makale Özeti

ASP.NET ile uygulama geliştirmenin temel taşlarından birisi için tıklayın...

Makale


ASP ile gelen en büyük avantajlardan biri kullanıcıya özel bilgileri session yani oturum olarak, tüm kullanıcılar için özel bilgileri application yani uygulama olarak saklayabiliyorduk. Aynı nesneleri ASP.NET’te de kullanabiliyoruz. Tabi daha da gelişmiş olarak.
Öncelikle ASP.NET’te cookie kullanımından kısaca bahsetmek istiyorum. Bildiğiniz gibi kullanıcı bilgilerinin bazılarını isterseniz kullanıcının bilgisayarında saklama şansınız vardı, ama dikkatli okuyun “şans”. Çünkü cookie seçeneğini aktif yapmak veya yapmamak tamamen kullanıcının elinde. Günümüzde artan güvenlik önlemleri ve kullanıcıların bu konuda hassas olmalarından dolayı cookie seçeneği çoğu browser’da kapatılmaya başladı. Böyle olunca ASP ile kullandığınız cookie’ler artık kullanılamaz oluyordu.
Gelelim session nesnesine. Bu da kullanıcı oturumu bazında açılan bir değerdi ASP’de ve kullanıcının makinesına bir cookie atılarak sessionID üzerinden takip sağlanıyordu. Bir önceki paragrafta belirttiğim nedenlerden dolayı cookie seçeneği kapalı olduğunda ise bu da işe yaramaz hale geliyordu. Ama ASP.NET ile bu sorun da aşıldı. Nasıl mı?
ASP.NET ile cookieless yani cookie kullanmadan session takibi yapmak mümkün oluyor. Böylelikle tüm session ve cookie nesnelerini aynen kullanabiliryosunuz. Bunu nasıl yaptığına gelince, URL üzerinden şifrelenmiş size özel bir kod yollanıyor. Bu değer size özel bir sessionID anlamına geliyor ve eski işlerliğiyle sistem çalışmaya devam ediyor.


http://sunucu/(j83jdh87j3he9890ekjh89yh)/sayfam.aspx

Bu özelliği kullanarak kullanıcı konfigürasyonunda cookie opsiyonunun işaretli olup olmasına bakmadan uygulama geliştirebilirsiniz. Bunu teknik olarak ASP.NET sayfanızda nasıl yapabileceğinize bakacak olursak;

<sessionState cookieless=”true” />

Applition nesnesinin kullanımı ise değişmeden korunmuş durumda. Yani sadece sizin oturumuzla ilgili değil tüm uygulama için değerler application nesnesinde saklanabiliyorç Örneğin sitenizdeki ziyaretçi sayısını application nesnesini kullanarak hesaplamınız ve göstermeniz mümkün.
SQL Server Desteği
ASP.NET ile gelen en güzel yeniliklerden biri de session değerlerini SQL Server üzerinde tutabiliyor olmanız. Böylelikle her işlem yapıldığında ister sunucu belleği üzerinde isterseniz bir veritabanında gerekli verileri tutabilirsiniz.


Yukarıdaki resimde gördüğünüz gibi Session değerleri farklı bir Sunucuda durduğu için Web sunucuda hata oluştuğunda session değerleri kaybolmayacak sunucu yeniden web hizmeti vermeye başladıktan sonra session bilgileri veritabanından alınacak ve herkes kaldığı işleme kaldığı yerden devam edebilecek.
Session ve application nesneleri hakkında işte bu güzel yenilikler var. Yeni bir makalede buluşmak üzere…
Mehmet Nuri ÇANKAYA