Я настроил мой 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 минуты времени простоя, но это не имеет место. Я пропускаю что-то?
Будьте терпеливы. Событие должно быть вызвано, но не обязательно сразу после таймаута.
Вы можете попробовать из браузера: Начать сессию, подождать > 1 минуты, сделать Postback каким-то образом
Это должно помочь проверить, что таймаут работает, и я думаю, вы также увидите, что SessionEnd произойдет в это время. В противном случае, просто подождите и запустите несколько других сессий. Когда-нибудь система придет в себя и вызовет это.