Soru - Cevap Bölümü
/ Kategori: Açık Kaynak
11/08/2008 - 16:23:27 cevap (6) Okunma : 531 Bu yazıyı 3 kişi tuttu.
CFC ile kullanıcı kontrolü
Bir coldfusion uygulamasında kullanıcıların sessionlarını her 30 sn de bir kontrol etmek istiyorum.
bunu nasıl yaparım ?
Cevaplar
( Faydalı Cevapları Göster )
peki araya bir update sıkıştırmak istersem örnek olarak
sqlde tüm kullanıcılar var bunlar içinde bir onlien filed var 0 ise offline 1 ise online sql tüm üyeleri kontrol edicek 30 sn de bir ve eğer kullanıcı çıkmış ise 1 durumunu 0 a çekecek bunu nasıl yaparım
Yukarıda verdiğim bilgiler en primitif hali ile CF uygulamanı, herhangi bir browserda görüntüleyen kişiler için, yani uygulamanda "oturum" açan kişiler için session parametrelerini aktive etmek içindi.
Şimdi sorun tamamen boyut değiştirmiş durumda. Veritabanında kullanıcılar için bir tablon var ve bu tabloda bir field’da binary olarak kullanıcıların online olup olmadıklarını yarım saatte bir sorugulatmak istiyorsun. Sorulabilecek çok soru var ama, öncelikle:
Bu işlemi tam olarak neden yapmak istiyorsun?
online kullanıcı gösterebilmek için.
Merhabalar. Yapmak istediğiniz olayı Coldfusion 7 sürümünde eklenen Application.cfc bileşeni ile gerçekleştirmek mümkün. Zehra da bahsetmiş, ben biraz açayım. Yapmak istediğiniz işlemler için, Application.cfc özel metotlar içermekte.
OnSessionStart() metodu bir oturum nesnesi oluşturulduğunda tetiklenmektedir. Hazırlayacağınız başka bir CFC’nin örneğini OnApplicationStart() metodu içerisinde oluşturup, OnSessionStart() metodu içerisinde gerekli kullanıcının bilgilerini veritabanına kaydedebilirsiniz.
Application.cfc’nin bize sunduğu faydalı bir başka metot olan OnSessionEnd() ile kullanıcı oturumu kapandığında yapmak istediğin gerekli işlemleri bu metot içerisinde tanımlayabilirsin. Application.cfc’nin kullanımı hakkında geniş bir bilgiye aşağıda vereceğim adresten ulaşabilirsin.
ColdFusion Application.cfc Tutorial And Application.cfc Reference
Gelelim asıl istediğin 30 saniyelik kontrole. Bunu yapabilmek için ilk olarak yapabileceğin, oturum zaman aşımı süresini 30 saniyeye çekmek ki bu pek mantıklı bir çözüm getirmeyecektir.
Şöyle bir şey yapman mümkün olur, ancak istediğin şekilde 30 saniyelik bir zaman aşımı süresi ile değil kullanıcı oturumu kapandığı taktirde eyleme geçecektir. Yukarıda anlattığım gibi oturum açıldığında ve kapandığında geçerli kullanıcı ile ilgili bazı eylemler gerçekleşmektedir.
Application.cfc içerisinde OnApplicationStart() metodu içerisine ekleyeceğin
<cfcookie name="cfid" value="#session.cfid#" />
<cfcookie name="cftoken" value="#session.cftoken#" />
kod bloğu ile kullanıcı tarayıcısını kapattığında, otomatik olarak kullanıcının oturumunun kapanmasını sağlayabilirsin. Bu sayede kullanıcıları sadece sisteme içerisinde iken sayar, oturumları kapandığında otomatik olarak sistemden silebilirsin.
Diğer bir türlü kullanıcı sayfa içerisinde gezinirken 30 saniyede bir ajax üzerinden sunucuya istek yollar ve kullanıcının hatta olduğunu belirtir, 35 saniye içerisinde güncellenmeyen oturum kayıtlarını oluşturacağın bir Garbage Collector metot sayesinde sistemden silebilirsin. Ki, yükü fazla olan bir uygulama içerisinde böyle bir ek yükü kaldıracak sistemin oldukça iyi yapılandırılmış sağlam donanıma ve yüksek bant genişliğine ihtiyaç duyacağını unutmaman lazım.
Yazdıklarım umarım yardımcı olur. Kolay gelsin
http://whosoncfc.riaforge.org/ adresinde gayet ayrıntılı açık kaynak kodlu bir çalışma da var. Fikir vermesi bakımından faydalı olabilir.
demolar da aşağıda.
http://whosoncfc.kisdigital.com/whosonstats.cfm
http://whosoncfc.kisdigital.com/
http://whosoncfc.kisdigital.com/timeline/
WhosOnCFC and User Authentication
WhosOnCFC-and-User-Authentication
.
kolay gelsin.
Etkinlikler
Yarışma
Fikir10000 Dijital Pazarlama Fikir Yarışması
Fikir10000 Dijital Pazarlama Fikir Yarışması
ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori:
Yarışma
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 566 (0 kayıtlı, 566 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız








application.cfc de aşağıdaki şekilde global olarak session kontrolünü açabilir ve ne kadar süreyle session değişkenlerinin korunmasını istediğinizi belirtebilirsiniz: