Global.asa dosyası
Global.asa dosyası bir ASP uygulamasında her sayfa erişilebilir nesneler, değişkenler ve yöntemleri parametreleri içerebilir, isteğe bağlı bir dosyasıdır.
Geçerli tüm tarayıcı komut (JavaScript, VBScript, JScript, PerlScript, etc.) Global.asa içinde kullanılabilir.
Global.asa dosyası yalnızca aşağıdakileri içerebilir:
- Uygulama olayları
- Oturum olayları
- <Nesne> bildirimleri
- TypeLibrary beyanlar
- #include direktifi
Note: Global.asa dosyası, ASP uygulamanın kök dizininde saklanmalıdır ve her uygulama yalnızca bir Global.asa dosyası olabilir.
Global.asa Olaylar
Global.asa uygulamayı söyleyebilir ve oturum uygulama / oturum bittiğinde uygulama / oturum başlar ve ne zaman ne yapacağını itiraz ediyor. Bu kod olay işleyicileri yerleştirilir. Global.asa dosyası dört etkinlik türünü içerebilir:
Application_OnStart - İLK kullanıcı bir ASP uygulamasında ilk sayfayı çağırdığında gerçekleşir. Web sunucusu yeniden başlatıldıktan sonra veya Global.asa dosyası düzenlendikten sonraki bu olay oluşur. "Session_OnStart" olayı bu olaydan hemen sonra ortaya çıkar.Session_OnStart - Bu olay YENİ bir kullanıcı ASP uygulamasında kendi ilk sayfayı istediğinde HER zaman oluşur.
Session_OnEnd - Bu olay, bir kullanıcı oturum biter HER zaman oluşur. Bir sayfa belirli bir süre için kullanıcı tarafından talep edilmemiştir sonra bir kullanıcı oturum sona erer (by default this is 20 minutes) .
Application_OnEnd - SON kullanıcı oturumunu sona erdikten sonra bu olay meydana gelir. Bir Web sunucusu durduğunda Genellikle, bu olay meydana gelir. Bu prosedür Uygulama durduktan sonra silme kayıtları gibi ayarların temizlenmesi veya metin dosyaları için bilgi yazmak için kullanılır.
Bir Global.asa dosyası şöyle görünebilir:
<script language="vbscript" runat="server">
sub Application_OnStart
' Note: biz ASP komut sınırlayıcılarınızı kullanmayın çünkü (<% and %>) Global.asa dosyasındaki komut dosyası eklemeniz, biz HTML içine altyordamlarını koymak <script> elemanı.
<Nesne> Tanımlamalar
Kullanarak Global.asa oturum veya uygulama kapsamı ile nesneleri oluşturmak mümkündür <object> etiketi.
Note: <object> etiketi dışında olmalıdır <script> etiketi!
Sözdizimi
<object runat="server" scope=" Parametre Açıklama scope Nesne kapsamını ayarlar (either Session or Application) id Nesne için benzersiz bir kimlik belirtir ProgID Bir sınıf kimliği ile ilişkilendirilen bir kimlik. Progıd için biçim [satıcı.] Bir bileşen [.Version] Ya ProgID veya ClassID'yi belirtilmelidir.
ClassID Bir COM sınıfı nesnesi için benzersiz bir kimliği belirtir. Ya ProgID veya ClassID'yi belirtilmelidir.
Örnekler
İlk örnek adlı bir oturum kapsamı bir nesne oluşturur "MyAd" ProgID parametresini kullanarak:
<object runat="server" scope="session" id="MyAd"
progid="MSWC.AdRotator">
</object> İkinci örnek, adı uygulama kapsamında bir nesne oluşturur "MyConnection" ClassID parametresini kullanarak:
<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object> Global.asa dosyasında bildirilen nesneler uygulamasında herhangi 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")%>
TypeLibrary Bildirimleri
TypeLibrary COM objesine karşılık gelen bir dosya DLL içeriği için bir kaptır. Global.asa dosyasında TypeLibrary bir çağrı dahil ederek, COM nesnesinin sabitleri erişilebilir ve hataları daha iyi ASP kodu ile raporlanabilir. Web uygulaması türü kütüphanelerde veri türlerini ilan ettiler COM nesneleri dayanır varsa, Global.asa Tür kitaplıkları bildirebilirsiniz.
Sözdizimi
<!--METADATA TYPE="TypeLib"
file=" Parametre Açıklama file Bir tür kitaplığına mutlak bir yol belirtir. Ya dosya parametresi veya Uuid parametre gereklidir
uuid tür kitaplığı için benzersiz bir tanımlayıcı belirtir. Ya dosya parametresi veya Uuid parametre gereklidir
version İsteğe bağlı. sürümünü seçmek için kullanılır. İstenen sürümü bulunmazsa, o zaman en son sürümü kullanılır lcid İsteğe bağlı. yerel ayar tanıtıcısı tür kitaplığı için kullanılacak Hata Değerleri
Sunucu aşağıdaki hata iletilerinden birini döndürebilir:
Hata kodu Açıklama ASP 0222 Geçersiz tür kütüphanesi özellikleri ASP 0223 Tür kitaplığı bulunamadı ASP 0224 Tür kitaplığı yüklenemiyor ASP 0225 Tür kitaplığı sarılmış olamaz
Note: METADATA etiketleri Global.asa dosyasına herhangi bir yerde geçebilir (both inside and outside <script> tags) . Ancak, METADATA etiketler Global.asa dosyasının en yakın görünen önerilir.
Kısıtlamalar
Eğer global.asa dosyasında içerebilir ne Kısıtlamalar:
- Sen global.asa dosyasında yazılı metni görüntülemek olamaz. Bu dosya bilgilerini görüntülemek olamaz
- Yalnızca Application_OnStart ve Application_OnEnd değişmezler Sunucu ve Uygulama nesneleri kullanabilirsiniz. Session_OnEnd alt yordam olarak, Sunucu, Uygulama ve Oturum nesnelerini kullanabilirsiniz. Session_OnStart değişmezde herhangi yerleşik nesne kullanabilirsiniz
Değişmezler nasıl kullanılır
Global.asa sıklıkla değişkenlerini başlatmak için kullanılır.
Aşağıdaki örnek, bir ziyaretçinin ilk bir Web sitesinde geldiğinde tam olarak ne zaman algılamak nasıl gösterir. Zaman adlı bir oturum değişkeni saklanır "started" ve değeri "started" değişken uygulamasında herhangi bir ASP sayfasından erişilebilir:
<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script> Global.asa Ayrıca sayfa erişimi kontrol etmek için kullanılabilir.
Aşağıdaki örnek adlı bir sayfaya, bu durumda başka bir sayfaya her yeni ziyaretçinin yönlendirmek nasıl gösterir "newpage.asp" :
<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script> Ve global.asa dosyasındaki fonksiyonları içerebilir.
Web sunucusu başladığında Application_OnStart alt yordam Aşağıdaki örnekte oluşur. Sonra Application_OnStart altprogram adlı başka altyordamı çağıran "getcustomers" . "getcustomers" altyordamı bir veritabanı açar ve gelen rekorunu alır "customers" tablosundaki. kayıt kümesi o veritabanı sorgulama olmadan herhangi bir ASP sayfasından ulaşılabilir bir diziye, atanan:
<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 Örnek
Bu örnekte geçerli ziyaretçi sayısını sayar bir Global.asa dosyası oluşturur.
- Application_OnStart Uygulama değişkeni ayarlar "visitors" sunucu başladığında 0'a
- Session_OnStart altyordam değişken bir ekler "visitors" Yeni bir ziyaretçi geldiğinde her zaman
- Session_OnEnd altyordam bir çıkarır "visitors" Bu altyordam tetiklenen her zaman
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> ASP dosyasında güncel ziyaretçi sayısını göstermek için:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%>
online now!</p>
</body>
</html>