#asp.net-mvc-3
#asp.net-mvc-3
Вопрос:
У меня есть мой MVC ASP.NET настройка web.config, подобная приведенной ниже:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="1" />
</authentication>
По истечении срока действия сеанса он автоматически переходит на страницу входа в систему. Это может сбить с толку конечных пользователей. Было бы неплохо показать сообщение «Срок действия сеанса истек, пожалуйста, повторно войдите в систему».
Не мог бы кто-нибудь, пожалуйста, рассказать мне, как достичь вышеуказанного? Сообщение может быть одностраничным или даже находиться на самой странице входа.
Огромное спасибо.
Ответ №1:
глобальный.asax
protected void Session_Start(object src, EventArgs e)
{
if (Context.Session != null amp;amp; Context.Session.IsNewSession)
{
string sCookieHeader = Request.Headers["Cookie"];
if (null != sCookieHeader amp;amp; sCookieHeader.IndexOf("ASP.NET_SessionId") >= 0)
Response.Redirect("/Session/Timeout");
}
}
web.config
<sessionState mode="InProc" timeout="/*duration*/"/>
Комментарии:
1. Спасибо, Дэвид, должно ли это быть Session_End вместо этого?
2. я не думаю, что вы можете перенаправить с Session_End