24.04.2024
Çarşamba

Ana Sayfa
ASP
Pascal
Gazi Paşa
Yazı, Makale…
Marmara TBMYO
OGÜ EM
Hey Gidi Günler…
Müzik
Konuk Defteri

--Haberler--

..............................

Yeni bir haber yok gibi.
..............................


Eskişehir için 3 günlük hava tahmini.


Kaynak: D M İ Genel Müd.
..............................


Güneş ışık ve sıcağından yarar sağlamak için kendisine yalvarılmasını beklemez. Sen de güneş gibi ol, beklenen iyiliği senden istenilmeden yap.
Epiktetos

GASA I


Yazı Büyüklüğünü Ayarlama Aparatı >>>>


GLOBAL.ASA
Dosyalarımız hep .ASP uzantılıydı, .ASA uzantısı da nereden çıktı demeyin. Sırf uzantısının diğer dosyalara göre farklı olması bile bu dosyanın ne kadar önemli bir dosya olduğunu anlatmak için yeterlidir.

Bu dosya önemli. Çünkü içerdiği mekanizmalar çok önemli.

Bildiğiniz üzere web server üzerindeki siteler server için birer uygulamadır (Application). Bir uygulama bir browser tarafından her çalıştırıldığında yeni bir oturum (Session) açılır. GLOBAL.ASA dosyası ile bir uygulama başladığında ve sonlandığında. Bir oturum başladığında ve sonlandırıldığında yapılacak işleri belirtebiliriz.

Burada kullanabileceğiniz alt yordamlar sırasıyla şunlardır...

Application_OnStart
Session_OnStart
Session_OnEnd
Application_OnEnd

Sitenize ilk ziyaretçi geldiğinde App On Start olayı tetiklenir ve burada yer alan kodlar çalışır. Bu ilk ziyaretçi aynı zamanda da bir oturum açmış olduğu için sess. on start olayı altında ki kodlar da çalışır... Daha sonraki ziyaretçilerin gelişinde sadece sess. on start olayı çalışır... Benzer mekanizma ziyaretçiler siteyi terketmeye başladığında da geçerlidir. Ziyaretçi siteyi terk ettikten veya browser pencereseni kapattıktan Session TimeOut süresi kadar sonra açmış olduğu oturum IIS tarafından sonlandırılır. Son ziyaretçinin oturumu sonlandırılıdıktan sonra ise uygulama sonlandırılır.

Burada çalışan yordamlar ile yapabilecekleriniz daha çok ASP'nin Application ve Session nesneleri ile ilgilidir. Burada ziyaretçileriniz için ziyaretleri boyunca değişmeyecek bilgileri ayarlayabileceğiniz gibi ziyaret süresince içeriği değişecek değişkenlerin varsayılan (default) değerlerini ayarlayabilirsiniz... Tabi ki yapabilecekleriniz bununla sınırlı değil.

Örneğin diğer sitelerde hep gördüğünüz Sitede şu an x ziyaretçi var uygulması veritabanına gerek duymadan sadece global.asa ile yapılabilir.

Bunun için yapmanız gereken şunlardır:
1- App on start olayında Ziyaretçi Sayısını saklamak üzere ayırdığınız application değişkeninin değerini sıfırlayın.
2- Session On Start olayında bu değişkenin değerini bir arttırın.
3- Session On End olayında bu değişkenin değerini bir azaltın.
4- App On End Olayında değeri tekrar sıfırlayın.
5- Sayfanızın her hangi bir yerinde bu değeri yazdırdığınız zaman o an için sitenizde açık olan oturum sayısı görüntülenir.

Açık olan oturum sayısı diyoruz çünkü ziyaretçi o esnada siteyi terk etmiş hatta direkt browser pencereseni kapatmış olabilir. Ama oturum zaman aşımına uğramadan IIS o kişinin siteyi terk ettiğinden haberdar olamaz ve sayıyı bir azaltamaz. Eğer bu değerin sitedeki ziyaretçi sayısına yakınsaması isteniyorsa Session.Timeout değeri daha küçük bir değere ayarlanlamalıdır. Tabi bu değerin daha küçük değerlere ayarlanması beraberinde mevcut oturumların daha çabuk sonlanması ve kullanıcıların oturum bilgilerinin kaybolması sorununu getirecektir.

Bu minik uygulama için ayrıca dikkat etmeniz gereken bir diğer nokta güvenlik noktasıdır. Aynı nokta elektronik ticaret sitelerinde daha fazla özen gösterilmesi gereken bir nokta olur. Olma olasılığı çok düşük ama aynı anda application değişkeni üzerinde birden fazla kişinin işlem yapması sorunlara, tutarsızlıklara neden olabilir. Bunun önüne geçmek için Application nesnesi bize iki method sunar. Application.Lock ve Application.Unlock. Böylece ufak kazaların önüne geçmiş olursunuz...