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

מדריך ASP.NET – ניהול State בצד שרת

IdoFlatow ,‏ מכללת סלע‏ ‏/‏ 4 פברואר, 2011
F+
F-

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

לצורך העניין קיימים ב – ASP.NET מספר כלים המאפשרים לנו לנהל מצבים (State בצד השרת). במדריך זה נפרט את הכלים השונים לניהול State.

Session

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

ה-Session תפקידו לשמור נתונים עבור המשתמש בכל זמן שהוא נמצא במערכת (כלומר ה-Session שלו פעיל).

הקוד לשמירת מידע ב-Session הוא כך:

Session["IDNumber"] = <User ID number>;

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

Application

בדומה ל-Session, גם כאן נשמרים נתונים ללא תלות בדף בו נמצא המשתמש, אלא שכאן הנתונים גם אינם תלויים במשתמש עצמו ונשמרים עבור כל המשתמשים במערכת.

למשל – אם נרצה לשמור את הזמן בו התחבר המשתמש האחרון למערכת, נכנס ל – Code Behind של קובץ ה-Global.asax, שם נמצא מתודה שנקראת Session_Start המופעלת כאשר משתמש מתחבר למערכת (כאשר נוצר ה-Session) ונכתוב בה את הקוד הבא:

protected void Session_Start(object sender, EventArgs e)
{
  Application["LastUserEntered"] = DateTime.Now;
}

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

IdoFlatow, מכללת סלע

יועץ ומרצה בקבוצת סלע לתחומי Web ו-Data. עוסק בתחומים Asp.Net, WCF, Silverlight, IIS ו-Entity Framework.
כותב הקורס הרשמי של מיקרוסופט ל-WCF וכן שותף בכתיבת הספר ASP.NET Programmer's Reference (ISBN 978-0470505458)
תגיות: פיתוח‏  /  צד שרת‏  /  מדריך‏  /  ASP.NET‏  /  .net‏  

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

תגובות למאמר



עוד במדריך

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

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