2
我试图创建一个日志,当一个经过身份验证的用户创建一个新的会话,但由于某种原因,我遇到了奇怪的行为。为了测试设置我的会话超时2分钟在web.config中:ASP.NET会话超时太早
<sessionState cookieName="AppName_SessionId" timeout="2" />
而在Global.asax.vb我有以下代码记录:
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
If My.User.IsAuthenticated = True Then
Log.Create()
End If
End Sub
一切正常后,我登录关闭浏览器并重新打开它。在我参加会议期间访问网页时,它只记录一次。问题是我停下来让会议过期(2分钟进行测试),然后重试。它会记录新会话,这是我期望的行为,但随后会在每个页面视图上触发Session_Start。我在不同的浏览器上证实了这一点。
看来会话过期并且浏览器仍处于打开状态,表示它无法维护会话。