Tam Sürümünü Görmek İçin : session kapanması engellenebilirmi?
Merhabalar,
Session açtığımızda, biz belli bir timeout süresi veriyorduk ve bu süre bittiğinde session kendisi kapanıyordu.Acaba biz bu timeout süresi sonunda, (isteğe bağlı olarak) sessionun kapanmasını engeleyebilir miyiz?
Yani aynı sessionid ile oturumuna devam edilebilir mi?
Mesela sakarya üni. uzaktan eğitim sisteminde giriş yaptıktan sonra belli bir süre sonra bi pencere açılıp oturumun 25 saniye sonra kapacağını söylüyor ve geri sayım başlıyor oturumun sonlanmasını istiyorsan iptal e basıyosun sonlanmasını istemiyorsan devam et butonuna basıyorsun. Böyle bişey istiyorsun sanırım.
Sessionları oluşturduğun zaman bir tane sessionada oluşturma tarihini atarsın. Daha sonra ajax timer kontrolu ile her 1 dk da bir sessionu oluşturduğun zamandan ne kadar geçtiğini kontrol edersin. Eğer session timeout süresi dolmasına 1 dk kalmışsa bi pencere açarsın ve oturumu sonlandırmak isteyip istemediğini sorarsın ona görede sessiondaki değerleri değişkene aktarırsın sonra sessionları sonlandırırsın daha sonra tekrar oluşturup değişkenlerdeki değerleri atarsın.
Daha önce ajax kullanmadım o yuzden timer kontrolu ile böyle bişey yapılıyo mu bilmiyorum ama yapılıyodur herhalde. Ayrıca daha önce böyle bir uygulama yapmadım sadece mantık yürütmeye çalıştım. :) Daha kolay bir yolu vardır herhalde
mkarabulut
28/12/2007, 18:42
Sakarya üniversitesinin uygulaması muhtemelen, kendi belirledikleri zamanda oturumu manuel olarak kapatıyordur.
Soru da ise otomatik olarak, ASP.NET motoru tarafından oturum bilgilerinin sunucudan silinmesi kastedilmiş olabilir.
Ben de mantık olarak şunları söyleyeyim :) :
* Global.asax içinden oturum kapandığında yapılacak işleri yapabiliyorsunuz. Acaba burası biraz didiklenerek bir şeyler çıkartılabilir mi?
* Buradan bir şey çıkmazsa; sanırım ASP.NET oturumu tamamen programcının emrine de verebiliyor -- biraz zahmetli olsa da--, böylece oturum ile ilgili tüm durumları kontrol edebiliyorsunuz. ASP.NET'in Provider modeli sağolsun. Bu konuda teknik bilgi için http://msdn2.microsoft.com/en-us/library/aa479034.aspx
* Bunlar fazla can sıkıcı gelebilir? Profile veya Cookie kullanarak da size özel bir çözüm üretebilirsiniz. Her zaman genel çözümler iyi olacak diye bir kaide yok.
Kolay gelsin.
Forum Yazılımı : vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.