משתני אפליקציה ב - ASP.NET

ביכולתכם לחלוק מידע בין כל הדפים באפליקצית ה - ASP.NET שלכם באמצעות משתנים הנקראים: Application state variables. משתנים אלה הם בעצם משתנים גלובליים. משתנים אלה נשמרים באמצעות Class מיוחד הנקרא HttpApplicationState.

משתנים מסוג Application Variables ניתן להוסיף לאפליקציה שלנו, לעדכן את הערכים שבמשתנים אלה וכן למחוק אותם כאשר נידרש לכך. הגישה למשתנים אלה מתבצעת באמצעות האובייקט Application. אובייקט זה נגיש מכל דף באפליקציה שלנו

"היתרון הגדול של Application Variables הוא בכך שהם ממשיכים להתקיים גם במעברים מדף לדף וממשתמש למשתמש"

בדוגמה הבאה אדגים כיצד לשמור ערכים במשתנים גלובאליים וכיצד ליצור משתנים גלובאליים.


' Visual Basic code
Application("UserName") = "Ploni"

// C# code
Application["UserName"] = "Ploni";

בדוגמה שלמעלה יצרנו Application Variable ששמו UserName ושמרנו בתוכו ערך. בדוגמה הבאה אדגים כיצד יש לגשת למשתנה זה ולקרוא מה הערך שנשמר בו. ראוי לציין שניתן לגשת לערך זה מכל מקום ומכל דף באפליקצית ה - ASP.NET שלנו

דוגמה לקריאת ערכים שנשמרו ב - Application Variables

' Visual Basic
Dim sUserName as String
sUserName =Application("UserName"))

// C#
string sUserName;
sUserName =Application["UserName"];

בדוגמה שלמעלה הגדרנו משתנה מסוג מחרוזת והכנסנו לתוכו את הערך ששמרנו קודם לכן במשתנה הגלובאלי UserName.

בדוגמה הבאה אראה כיצד ניתן למחוק לחלוטין משתנים גלובאליים מסוג Application Variable

דוגמה למחיקת משתנים גלובאליים מסוג Application Variables

' Visual Basic
Application.Remove("UserName")
' מחיקת כל המשתנים מסוג זה
Application.RemoveAll()

// C#
Application.Remove["UserName"];
' מחיקת כל המשתנים מסוג זה
Application.RemoveAll();

סיכום

ניתן להשתמש במשתני Application state כמשתנים גלובליים לכל דבר. יחד עם זאת יש לזכור שמשתנים אלה נגישים לכל הדפים בכל ה - Sessions כלומר משתמשים שונים יכולים לשנות את המשתנים הללו.

כמו כן, יש להשתמש במשתנים אלה בזהירות בגלל צריכת הזיכרון המוגברת שלהם. משתנים אלה אינם מתנקים מהזיכרון עד שמוחקים אותם. כמו כן יש לזכור שמשתנים אלה נגישים לכל הדפים בכל Session. כלומר אם משתמשים שונים גולשים באתר או באפליקציה אזי האחד יכול לשנות את ערכי המשתנים של השני.

 


 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש