ASP-Global.asa, APPLICATION ve SESSION nesneleri

@ 11 Mayıs 2003 tarihinde yazdı. Yazıya yorum yazın.

Global.asa Hakkında

Personel Web Server’ınızın kök dizinine baktığınızda bu dosyayı görebilirsiniz. Siz oluşturmadığınız halde kendiliğinden oluşmuştur bu dosya. Peki bu dosya neden gereklidir? Demek gerekli bir şey ki kendiliğinden oluşmuş. Global.asa Application ve Session nesneleri için gereklidir. Biraz sonra öğreneceğimiz bu nesnler için neden gerekli olduğunu göreceğiz.

Global.asa ‘ nın içeriği bir .asp dosyasından farksızdır. Ama neden uzantısı .asa ? Bunun sebebi dosyanın Active Server Application dosyası olmasıdır.
Asp uyumulu bir Web server programı sitemize ulaşan ilk ziyaretçiyi gördüğü anda Global.asa dosyasını çalıştırır.
Bazı sitelerde görmüşsünüzdür, o anda sitede kaç kişi olduğunu gösteren bir sayaç vardır. Bu sayacı Global.asa yardımıyla yaparlar. Global.asa hakkında biraz bilgi verdikten sonra Application ve Session nesnelerine geçebiliriz…

Application ve Session Nesneleri

İngilizce’ de Application -uygulama Session -oturum anlamına gelir. Anlamları bile bu nesnelerin ne işe yaradığını açıklar gibi.

Asp açısından, bir site “uygulama programı” (Application), her ziyaretçi de bir “oturum” (Session) sayılır. Neden böyle sayılır? Bunu ayrıntılı olarak açıklayalım..

Application nesnesi, sitenin tümüyle ilgili bilgileri (değişkenleri, nesneleri, metodları) tutar; Session nesnesi ziyaretçinin sitemize girmesinden itibaren izini sürer.
Bir örnek ile açıklamak gerekirse.
Siteniz bir alışveriş sitesi olsun. Buna göre her ziyaretçinin farklı bir tercihi olacaktır. Herkes aynı ürünü almak istemez öyle değil mi? Herkesin bir alış-veriş sepeti olacak ve kendi tercih ettiği ürünleri alacaktır. Application nesnesi bu farklı tercihleri, veritabanına bağlantıyı kısacası sitedeki bütün işlerin bütün kurallarını bilecek ve uygulayacak.
Session nesnesi ise, sadece bir kişinin tercihlerini bilecek. Böylece herkes farkılı tercihler yapacak ama ortalık karışmayacak..
Ne yazık ki böyle bir uygulamayı şimdi yapamayız. Bunun için daha öğrenmemiz gereken şeyler var. Ama ileride böyle bir uygulamayı yapmamak için hiç bir nedenimiz olmayacak.. Biraz sabır..
Açıklamalarımıza devam edelim.

Application ile sitemizdekilerin daha doğrusu üyelerin tümünün yaptıklarını, Session ile sadece bir tanesini yönetebiliyoruz. Daha doğrusu üyenin kendisi yönetiyor. Çünkü tercihler ona ait.
Session nesnesinin oluşabilmesi için, ziyaretçiye mutlaka bir Cookie göndermeliyiz.

Bu neden gereklidir?
Session ile ziyaretçinin yaptığı seçimleri biliriz demiştik. Session’ ın anlamının oturum olduğunu da söyledik.
Ziyaretçiye Cookie göndererek o anda sitede olup olmadığına bakarız. Eğer sitedeyse bir oturum(session) açılır ve ziyaretçi kendine ait seçimleri yapar. Web server, ziyaretçi yeni bir tercih yapmadığı taktirde her Session nesnesini 20 dakika açık tutar, sonra siler. Session belirleyen Cookie Web Server tarafından otomatik olarak gönderilir ve takip edilir.
Bir web programınıza (Asp ile yazdığınız için Web programı) aynı anda kaç kişi ulaşırsa o kadar Session nesnesi oluşur. Ama site bir tane olduğu için bir tane Application nesnesi vardır. Bu nesnenin Session’lar için sitemizin ihtiyaçlarına uygun ve aynı uygulama kurallarına sahip olmasını sağlayan bir dosya vardır: Global.asa . İşte Global.asa’ nın görevi burada başlar..

Burada Global.asa, Session ve Application nesnelerini öğrendik.. Bir uygulama yapmadık ama bu nesneler ile daha çok uygulama yapacağız. Bu yüzden iyi tanımalısınız onları ve işlevlerini..

Microsoft® Sistem Mühendisi
Microsoft® Veri Tabanı Yöneticisi
Microsoft® Eğitmen
Bilgisayar Mühendisi
Webmaster
Ayhan ERGUN