וובמאסטר - תיכנות ובניית אתרים

מדריך ASP - הקובץ global.asa

entry/‏ 13 אפריל, 2003
F+
F-
הקובץ global.asa הוא קובץ אופציונלי, המשמש אותנו להצהרת אובייקטים ומשתני application ו-session, ולניהול הארועים Session_OnStart, Session_OnEnd, Application_OnStart ו- Application_OnEnd. קובץ זה מופעל אוטומטית ע"י השרת עם הכניסה הראשונה של המשתמש לדף, ועם היציאת של המשתמש מהאתר. אין אנו יכולים לקרוא לקובץ global.asa בעצמינו! את הקובץ global.asa נאחסן בתיקייה הראשית של האפליקציה. לכל אפליקציה יהיה מקסימום קובץ global.asa אחד בלבד! אך אין הכרח להשתמש בו.

הגבלות:
  • הקובץ global.asa אינו משמש להצגת מידע. לא ניתן להציג טקסט שכתוב בו או להשתמש בפונקציות צד-לקוח.
  • אין אפשרות להשתמש ב-#include בקובץ global.asa
  • כל פרוצדורה או פונקציה הכתובה בקובץ Global.asa ניתנת לקריאה רק מתוך הקובץ עצמו. אין אפשרות לקרוא להם מתוך קובץ asp אחר.
  • אין להשתמש בתגי asp <%%> בתוך הקובץ. השרת מזהה את הקובץ כקובץ asp ושימוש בתגים אלו יגרום לשגיאה.


מבנה הקובץ:
VBScriptJScript
			
	
השורה הראשונה מגדירה ששפת הסקריפט אותו נכתוב היא VBScript, ושהוא ירוץ על השרת, ולא על הדפדפן. לאחר מכן, אנו מפרטים את ארבעת הארועים (אם אין צורך באירוע מסויים, אין הכרח לציינו). וכך אנו קובעים מה יקרה כאשר האפליקציה עולה או יורדת, וכאשר גולש נכנס או יוצא מהאתר.

ישנם אינסוף שימושים לקובץ, והדוגמא הקלאסית לשימוש בקובץ global.asa היא יצירת מונה כניסות, וספירת כמות הגולשים הנמצאים כרגע באתר.
קודם נראה את הקוד כולו, ואז יבואו ההסברים:

VBScriptJScript
		 
	
ראשית כל, נחליט היכן יש לאכסן נתונים אלו. למדנו שני הפרקים הקודמים על משתני application ו-session ועל האירועים שלהם. אנו יודעים שמשתנה application זמין לכל המשתמשים באתר, בכל דף שהוא. לכן הגיוני לאחסן את הנתונים שלנו במשתני application.
("application("total_users - יחזיק את מספר הגולשים שנכנסו עד כה לאתר.
("application("current_users - יחזיק את מספר הגולשים כרגע באתר.
משתנים אלו יאותחלו ל-0 בתחילת האפליקציה, כלומר, ב-application_OnStart. ומאותו רגע נתחיל לספור את המשתמשים.

VBScriptJScript
Sub Application_OnStart
   Application("Total_Users") = 0
   Application("Current_Users") = 0
End Sub 
איך אנו יודעים מתי משתמש נכנס לאתר? כאמור, השרת מפעיל אוטומטית את הארוע Session_OnStart בכל פעם שגולש נכנס לאתר, לכן זהו המקום הטבעי להעלות את המונים שלנו. אנו נשתמש בשיטות Application.Lock ו- Application.Unlock כדי להבטיח ששני משתמשים לא ינסו להעלות בו זמנית את המונים.

VBScriptJScript
Sub Session_OnStart
   Application.lock
      Application("Total_Users") = Application("Total_Users") + 1
      Application("Current_Users") = Application("Current_Users") + 1
   Application.unlock
End Sub 
המונה הסופר את מספר הכניסות לאתר מאז עלייתו לאוויר, ימשיך ויעלה כל הזמן. אך מהמונה הסופר את מספר הגולשים הנמצאים כרגע באתר, צריך להפחית 1 כל פעם שגולש יוצא מהאתר - ב- Session_OnEnd.

VBScriptJScript
Sub Session_OnEnd
   Application.lock
      Application("Current_Users") = Application("Current_Users") - 1
   Application.unlock
End Sub 
מכיוון שמשתני האפליקציה זמינים לכל המשתמשים בכל הדפים באתר, אנחנו עכשיו יכולים להציג את המונים שלנו בכל דף שנרצה.

   Total Users: <%=Application("Total_Users")%>
   Current Users: <%=Application("Current_Users")%>

entry

סטודיו לבניית אתרים שהוקם בינואר 2005
אתר: http://www.entry.co.il
תגיות: ASP‏  /  מדריך‏  /  Application‏  /  onStart‏  /  global.asa‏  /  Session‏  

תגובות בפייסבוק

תגובות למאמר



עוד במדריך

תגיות פופולאריות

X
הצטרף לעמוד שלנו בפייסבוק להישאר מעודכן!
וובמאסטר © כל הזכויות שמורות