Redirect to login page in Session_End event
טוב, אי אפשר באמת לעשות את מה שכתבתי בכותרת, מכיוון שהשרת מפעיל את האירוע של Session_End והחוק הידוע של http, שחייב להיות Request כדי שיחזור Response.
אבל אם אתם בכל זאת רוצים שכשנגמר ה - Seesion במידה והדפדפן עדיין פתוח שזה יעבור בצורה אוטומטית לדף הלוגין
תוכלו לכתוב את הקוד הזה: (במתודת Page_Load - וממולץ שיהיה לכם דף PageBase שכל הדפים יורשים ממנו ושם תכתבו את הקוד הזה)
Response.AddHeader("Refresh", Convert.ToString((Session.Timeout * 60) + 5));
if (Session.IsNewSession)
{
Response.Redirect("Login.aspx");
}
השורה הראשונה תגרום לריענון של הדף חמש שניות אחרי שה - Seesion_End קרה.
במידה ומדובר בגישה של ראשונה של ה - Session הזה (מה שיהיה נכון) נעבור לדף הלוגין.
הרעיון והמימוש הגיע
מכאן.