סיום Session

eyalank

New member
סיום Session

האם יש דרך לסיים Session כאשר המשתמש סוגר את הדף?
 

[eLad]

New member
הצעה לפתרון

דרך ראשונה, קלה אך לא אמינה, היא באירוע onunload לפתוח popup שמבצע את הפעולה וסוגר את עצמו, אך אם יש למשתמש חוסם popups, זה לא יפעל. אם אתה צריך לבצע פעולה כלשהי כשתמשתמש יוצא מהאתר, אתה יכול לשלוח בכל עמוד באפליקציה בקשת xmlhttp המפעילה פונקציה השומרת ב-db תאריך 'עדכון אחרון' לאותו משתמש. במקביל לבצע כל כמה דקות "ניקוי" של כל המשתמשים שלא עדכנו את התאריך שלהם ב(למשל)-5 דקות אחרונות, ולבצע את הפונקציה שאמורה לקרות בניתוק.
 

blue25

New member
טעות שלי,

חשבתי שאתה רוצה לנקות את ה Session בזמן מסויים בצד שרת. אם אתה מעוניין לסגור את ה Session ברגע שהלקוח סוגר את הדף, זה קצת מסבך את העניין. אל תשכח של Session ניתן להגדיר זמן timeout (כברירת מחדל 20 דקות) כלומר אם הלקוח לא ביצע קריאה לשרת במשך 20 דקות ה Session מת (לבד). אם אתה רוצה, אתה יכול להקטין את timeout לנניח דקה, תבצע כל 50 ms קריאת xmlhttprequest לשרת (לדף ריק, שלא עושה כלום, רק כדי לשמר את ה Session). במקרה זה אם הלקוח סגר את החלון אחרי דקה ה - session שלו ימות (לבד, טיפול של .net). לפי דעתי הטיפול הזה הוא קצת יקר מבחינת תעבורה מיותרת.
 
למעלה