Application
אוספים (Collections)
Contents
StaticObjects
תכונות (Properties)
שיטות (Methods)
Lock
Unlock
ארועים (Events)
OnStart
OnEnd
מהי אפליקציה?
אפילקצית אינטרנט מוגדרת ככל הקבצים (asp,htm...) הנמצאים תחת ספרייה וירטואלית כלשהי, ותתי הספריות שלה. שרת אחד מריץ יותר מאפליקציה אחת. האובייקט Application מכיל מידע על האפליקציה, ומשמש כדי לשתף מידע בין כל משתמשי האפליקציה.
Application.Contents
זהו אוסף כל הנתונים אשר הוספו לאפליקציה. כדי להוסיף נתון ("משתנה Application") נכתוב בדף ה-asp:
נוכל לגשת למשתנה, לשנותו, להדפיסו או להוסיף משתנים חדשים מכל קבצי ה-asp באפליקציה, בצורה הבאה:קוד:<% Application("VarName") = "Hello"%>
מעבר על כל האוסף:קוד:<% Response.Write( Application("VarName")) %> <br>
המאפיין Application.Contents.Count יזיר לנו את מספר הערכים המאוכסנים באוסף.קוד:<% For Each Key In Application.Contents Response.Write (Key & "=" & Application(key) & "<br>") Next %>
Application.StaticObjects
הוא אוסף כל המשתנים שנוצרו באפליקציה באמצעות התג <OBJECT> (ולא באמצעות Server.CreateObject).
זוהי לולאה שעוברת על כל האוסף ומדפיסה את שמו וערכו של כל אובייקט:
קוד:<% Dim ObjProp For Each ObjProp in Application.StaticObjects Response.write ObjProp & " : "_ & Application.StaticObjects(ObjProp) &"<BR>" Next %>
Application.Lock ו- Application.Unlock
כאמור, משתני Application נגישים לכל הקבצים באפליקציה, ולכל המשתמשים. לכן יש לנהוג בהם ביתר זהירות. אם שני משתמשים ייגשו בו זמנית לאותו משתנה וינסו לשנותו, התוצאות עלולות להיות בלתי צפויות. כדי למנוע מקרים אלו, עומד לרשותינו "מנגנון נעילה" למשתנים אלו, אשר ימנע את המצב המתואר למעלה. כאשר אנו קוראים לשיטה Application.Lock, אף סקריפט אחר אינו יכול לשנות את המידע המצוי באובייקט ה-Application עד שנקרא לשיטה Application.Unlock. נעילת האפליקציה עלולה ליצור צוואר בקבוק, כאשר כמה משתמשים "מחכים בתור" כדי לשנות משתנה אפליקציה. לכן יש להשתמש בזהירות בשיטות אלו, ולנעול את האפליקציה לזמן קצר ככל האפשר.
קוד:<% Application.Lock Application("NumVisits") = Application("NumVisits") + 1 Application.Unlock Response.Write "This application page has been visited" _ & Application("NumVisits") & " times!" %>
Application_OnStart ו- Application_OnEnd
שתי רוטינות אלו ממוקמות בקובץ global.asa (עליו נדון בהמשך).
Application_OnStart מתבצעת פעם אחת בלבד, בפעם הראשונה בו לקוח כלשהו מבקש מהשרת קובץ asp השייך לאפליקציה.
Application_OnEnd מתבצעת בסיום האפליקציה, כאשר ה-IIS נעצר ע"י מערכת ההפעלה או ידנית (לרוב קורה כאשר השרת מכובה). הזמן העומד לרשות הארוע הוא קצת מאוד, לכן רצוי להמנע מסקריפטים ארוכים או כבדים.קוד:<script language="vbscript" runat="server"> Sub Application_OnStart ' some code End Sub </script>
קוד:<script language="vbscript" runat="server"> Sub Application_OnEnd 'some code End Sub </script>
סוף הפרק, פרק הבא ביום אחר.
בהצלחה :]
קרדיט ל- www.webmaster.org.il .




ציטוט ההודעה
