ASP Eğitimleri

ASP ANA SAYFA

WP Eğitimi

Web Sayfaları Tanıtımı Web Sayfaları Jilet Web Sayfaları Düzeni Web Sayfaları Klasörleri Web Sayfaları Küresel Web Sayfaları Formları Web Sayfaları Nesneleri Web Sayfaları Dosyaları Web Sayfaları Veritabanları Web Sayfaları Yardımcıları Web Sayfaları WebGrid Web Sayfaları Grafikleri Web Sayfaları E-postası Web Sayfaları Güvenliği Web Sayfaları Yayınla Web Sayfaları Örnekleri Web Sayfaları Sınıfları

ASP.NET Jilet

Jilet Girişi jilet sözdizimi Razor C# Değişkenleri Razor C# Döngüleri Jilet C# Mantık Razor VB Değişkenleri Razor VB Döngüleri Jilet VB Mantık

ASP Klasik

ASP Girişi ASP Sözdizimi ASP Değişkenleri ASP Prosedürleri ASP Şartları ASP Döngüsü ASP Formları ASP Çerezleri ASP Oturumu ASP Uygulaması ASP #include ASP Global.asa ASP AJAX ASP e-postası ASP Örnekleri

ASP Referansı

ASP VB İşlevleri ASP VB Anahtar Kelimeleri ASP Yanıtı ASP İsteği ASP Uygulaması ASP Oturumu ASP Sunucusu ASP Hatası ASP Dosya Sistemi ASP Metin Akışı ASP Sürücüsü ASP Dosyası ASP Klasörü ASP Sözlüğü ASP Reklam Döndürücü ASP Tarayıcı Başlığı ASP İçerik Bağlantısı ASP İçerik Döndürücü ASP Hızlı Başvuru

ADO Eğitimi

ADO'ya Giriş ADO Bağlantısı ADO Kayıt Kümesi ADO Ekranı ADO Sorgusu ADO Sıralama ADO Ekle ADO Güncellemesi ADO Sil ADO Demosu ADO Hızlandırma

ADO Nesneleri

ADO Komutu ADO Bağlantısı ADO Hatası ADO Alanı ADO parametresi ADO Özelliği ADO Kaydı ADO Kayıt Kümesi ADO Akışı ADO Veri Tipleri

ASP Global.asa dosyası


Global.asa dosyası

Global.asa dosyası, bir ASP uygulamasındaki her sayfa tarafından erişilebilen nesnelerin, değişkenlerin ve yöntemlerin bildirimlerini içerebilen isteğe bağlı bir dosyadır.

Tüm geçerli tarayıcı komut dosyaları (JavaScript, VBScript, JScript, PerlScript, vb.) Global.asa içinde kullanılabilir.

Global.asa dosyası yalnızca aşağıdakileri içerebilir:

  • Uygulama olayları
  • Oturum etkinlikleri
  • <nesne> bildirimleri
  • TypeLibrary bildirimleri
  • #include yönergesi

Not: Global.asa dosyası, ASP uygulamasının kök dizininde saklanmalıdır ve her uygulamada yalnızca bir Global.asa dosyası olabilir.


Global.asa'daki Etkinlikler

Global.asa'da uygulama ve oturum nesnelerine uygulama/oturum başladığında ne yapacağını ve uygulama/oturum bittiğinde ne yapacağını söyleyebilirsiniz. Bunun için kod olay işleyicilere yerleştirilir. Global.asa dosyası dört tür olay içerebilir:

Application_OnStart - İLK kullanıcı bir ASP uygulamasında ilk sayfayı çağırdığında gerçekleşir. Bu olay, Web sunucusu yeniden başlatıldıktan veya Global.asa dosyası düzenlendikten sonra oluşur. "Session_OnStart" olayı, bu olaydan hemen sonra gerçekleşir.

Session_OnStart - Bu olay HER YENİ kullanıcı ASP uygulamasındaki ilk sayfasını istediğinde gerçekleşir.

Session_OnEnd - Bu olay, bir kullanıcı bir oturumu her sonlandırdığında gerçekleşir. Kullanıcı oturumu, belirli bir süre boyunca kullanıcı tarafından bir sayfa istenmediğinde sona erer (varsayılan olarak bu süre 20 dakikadır).

Application_OnEnd - Bu olay, SON kullanıcı oturumu sonlandırdıktan sonra gerçekleşir. Genellikle bu olay, bir Web sunucusu durduğunda meydana gelir. Bu prosedür, Uygulama durduktan sonra kayıtları silmek veya metin dosyalarına bilgi yazmak gibi ayarları temizlemek için kullanılır.

Global.asa dosyası şöyle görünebilir:

<script language="vbscript" runat="server">

sub Application_OnStart
'some code
end sub

sub Application_OnEnd
'some code
end sub

sub Session_OnStart
'some code
end sub

sub Session_OnEnd
'some code
end sub

</script>

Not: Global.asa dosyasına komut dosyaları eklemek için ASP komut dosyası sınırlayıcılarını (<% ve %>) kullanamadığımız için, alt programları bir HTML <script> öğesinin içine koyarız.



<nesne> Bildirimler

<object> etiketini kullanarak Global.asa'da oturum veya uygulama kapsamına sahip nesneler oluşturmak mümkündür.

Not: <object> etiketi, <script> etiketinin dışında olmalıdır!

Sözdizimi

<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}>
....
</object>

Parameter Description
scope Sets the scope of the object (either Session or Application)
id Specifies a unique id for the object
ProgID An id associated with a class id. The format for ProgID is [Vendor.]Component[.Version]

Either ProgID or ClassID must be specified.

ClassID Specifies a unique id for a COM class object.

Either ProgID or ClassID must be specified.

Örnekler

İlk örnek, ProgID parametresini kullanarak "MyAd" adlı bir oturum kapsamı nesnesi oluşturur:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

İkinci örnek, ClassID parametresini kullanarak "MyConnection" adlı bir uygulama kapsamı nesnesi oluşturur:

<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>

Global.asa dosyasında bildirilen nesneler, uygulamadaki herhangi bir komut dosyası tarafından kullanılabilir:

GLOBAL.ASA:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

You could reference the object "MyAd" from any page in the ASP application:

SOME .ASP FILE:

<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>

TipKütüphane Bildirimleri

TypeLibrary, bir COM nesnesine karşılık gelen bir DLL dosyasının içeriği için bir kapsayıcıdır. Global.asa dosyasına TypeLibrary çağrısı eklenerek, COM nesnesinin sabitlerine erişilebilir ve hatalar ASP koduyla daha iyi rapor edilebilir. Web uygulamanız, tür kitaplıklarında veri türleri bildiren COM nesnelerine dayanıyorsa, tür kitaplıklarını Global.asa'da bildirebilirsiniz.

Sözdizimi

<!--METADATA TYPE="TypeLib"
file="filename" uuid="id" version="number" lcid="localeid"
-->

Parameter Description
file Specifies an absolute path to a type library.

Either the file parameter or the uuid parameter is required

uuid Specifies a unique identifier for the type library.

Either the file parameter or the uuid parameter is required

version Optional. Used for selecting version. If the requested version is not found, then the most recent version is used
lcid Optional. The locale identifier to be used for the type library

Hata Değerleri

Sunucu, aşağıdaki hata mesajlarından birini döndürebilir:

Error Code Description
ASP 0222 Invalid type library specification
ASP 0223 Type library not found
ASP 0224 Type library cannot be loaded
ASP 0225 Type library cannot be wrapped

Not: METADATA etiketleri Global.asa dosyasında herhangi bir yerde görünebilir (hem <script> etiketlerinin içinde hem de dışında). Ancak, METADATA etiketlerinin Global.asa dosyasının üst kısmına yakın bir yerde görünmesi önerilir.


Kısıtlamalar

Global.asa dosyasına neleri ekleyebileceğinizle ilgili kısıtlamalar:

  • Global.asa dosyasında yazılmış metni görüntüleyemezsiniz. Bu dosya bilgileri görüntüleyemiyor
  • Application_OnStart ve Application_OnEnd alt programlarında yalnızca Sunucu ve Uygulama nesnelerini kullanabilirsiniz. Session_OnEnd alt yordamında Sunucu, Uygulama ve Oturum nesnelerini kullanabilirsiniz. Session_OnStart alt programında herhangi bir yerleşik nesneyi kullanabilirsiniz.

Alt Programlar nasıl kullanılır

Global.asa genellikle değişkenleri başlatmak için kullanılır. 

Aşağıdaki örnek, bir ziyaretçinin bir Web sitesine ilk geldiği zamanın tam olarak nasıl tespit edileceğini gösterir. Zaman, "started" adlı bir Oturum değişkeninde saklanır ve "started" değişkeninin değerine uygulamadaki herhangi bir ASP sayfasından erişilebilir:

<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script>

Global.asa, sayfa erişimini kontrol etmek için de kullanılabilir.

Aşağıdaki örnek, her yeni ziyaretçinin başka bir sayfaya, bu durumda "newpage.asp" adlı bir sayfaya nasıl yönlendirileceğini gösterir:

<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>

Ve Global.asa dosyasına işlevleri dahil edebilirsiniz.

Aşağıdaki örnekte, Application_OnStart alt yordamı, Web sunucusu başladığında gerçekleşir. Ardından Application_OnStart alt yordamı "getcustomers" adlı başka bir alt yordamı çağırır. "getcustomers" alt programı bir veritabanı açar ve "müşteriler" tablosundan bir kayıt kümesi alır. Kayıt kümesi, veritabanını sorgulamadan herhangi bir ASP sayfasından erişilebileceği bir diziye atanır:

<script language="vbscript" runat="server">

sub Application_OnStart
getcustomers
end sub

sub getcustomers
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=conn.execute("select name from customers")
Application("customers")=rs.GetRows
rs.Close
conn.Close
end sub

</script>

Global.asa Örneği

Bu örnekte, mevcut ziyaretçi sayısını sayan bir Global.asa dosyası oluşturacağız.

  • Application_OnStart, sunucu başladığında "ziyaretçiler" Uygulama değişkenini 0'a ayarlar
  • Session_OnStart alt yordamı, her yeni ziyaretçi geldiğinde "ziyaretçiler" değişkenine bir tane ekler.
  • Session_OnEnd alt yordamı, bu alt yordam her tetiklendiğinde "ziyaretçilerden" birini çıkarır.

Global.asa dosyası:

<script language="vbscript" runat="server">

Sub Application_OnStart
Application("visitors")=0
End Sub

Sub Session_OnStart
Application.Lock
Application("visitors")=Application("visitors")+1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("visitors")=Application("visitors")-1
Application.UnLock
End Sub

</script>

Bir ASP dosyasındaki mevcut ziyaretçi sayısını görüntülemek için:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%> online now!</p>
</body>
</html>