我试图找出当用户从我的网站导航时如何销毁ASP.NET会话.我正在使用Global.ascx应用程序文件并使用session_end事件.当我单击注销按钮时它工作正常.但是当我直接关闭浏览器,20分钟后就不会使用全局文件.我在web.conig文件中用作< sessionState mode =“InProc”timeout =“20”>< / sessionState>
请帮帮我
奥古斯丁
请帮帮我
奥古斯丁
解决方法
会话超时定义某些会话在某些空闲时间之后被销毁的时间.
如果您希望更多地控制会话,则需要使用sqlServer模式,状态服务器模式或自定义模式.
我的意思是说,因为例如,sqlServer模式在一个标准的sql Server表中存储会话,所以你可以实现一些sql Server作业,或在Windows或某些Windows服务中安排一些任务,这样你可以根据你的需要
顺便说一句,也许你需要知道,如果你使用InProc,你的会话可能被破坏,因为IIS的回收应用程序池或服务器已经完全重新启动.这不是结束会话,所以适当的事件和处理程序将不会在这种情况下工作.
我重申,如果你需要一个更好的会话管理模式,像我建议你的.
编辑:
检查此页面:
http://aspalliance.com/520_Detecting_ASPNET_Session_Timeouts.2
您将学习如何更好地处理会话超时,因为Session_End在会话过期时不被调用,但是当您调用“Session.Abandon”时.