Когда Session_End () назван в ASP.NET MVC?

Я настроил мой Web.Config файл следующим образом в проекте ASP.NET MVC 2:

<sessionState mode="InProc" timeout="1"/>

И включил следующее Global.asax.cs:

protected void Session_End(object sender, EventArgs e)
{
    System.Diagnostics.Debug.WriteLine("Session_End");
}

protected void Session_Start(object sender, EventArgs e)
{
    System.Diagnostics.Debug.WriteLine("Session_Start");
}

Session_Start() назван, когда новый пользователь идет на веб-сайт. Я ожидал бы Session_End() чтобы быть названным после 1 минуты времени простоя, но это не имеет место. Я пропускаю что-то?

18
задан Çağdaş Tekin 4 March 2010 в 05:50
поделиться

1 ответ

Будьте терпеливы. Событие должно быть вызвано, но не обязательно сразу после таймаута.

Вы можете попробовать из браузера: Начать сессию, подождать > 1 минуты, сделать Postback каким-то образом

Это должно помочь проверить, что таймаут работает, и я думаю, вы также увидите, что SessionEnd произойдет в это время. В противном случае, просто подождите и запустите несколько других сессий. Когда-нибудь система придет в себя и вызовет это.

9
ответ дан 30 November 2019 в 08:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: