我想弄清楚如何摧毁一个ASP.NET会话时,用户导航离我的site.I使用Global.ascx应用程序文件并使用session_end事件。点击注销按钮。但是,当我直接关闭浏览器20分钟后不使用全局文件。我在web.conig文件作为<sessionState mode="InProc" timeout="20"></sessionState>
请帮我
奥古斯丁会话处理在asp.net
回答
会话超时定义当一些会议将一些闲置的时间后销毁终止会话。
如果您想要更好地控制会话,您需要使用SQLServer模式,状态服务器模式或自己定制的模式。
我的意思是,因为,例如,SQLServer模式将会话存储在标准SQL Server表中,因此,您可以实现一些SQL Server作业,或者在Windows或某些Windows服务中安排某些任务,以便可以清理根据您的需要开启会议。
顺便说一句,也许你需要知道,如果你使用InProc,你的会话可能会被破坏,因为IIS回收应用程序池或服务器完全重新启动。这不是结束会话,所以适用的事件和处理程序在这种情况下不起作用。
我再说一遍,如果您需要更好的会话管理模式,就像我建议您的那样。
编辑:
查看本页面: http://aspalliance.com/520_Detecting_ASPNET_Session_Timeouts.2
您将学习如何处理会话超时更好,因为当会话过期Session_End中不叫,但是当你调用“ Session.Abandon”。
您可以通过调用Session.Abandon()
我使用Session.abandon和明确的(),但是,我的问题是,如果我们关闭浏览器它不工作... – augustine 2011-03-28 07:36:36
当访问者“导航”或“关闭浏览器”时,浏览器不会向网站发送信号。所以asp.net(或任何其他服务器端技术)不能对此做出反应以销毁会话。
这就是为什么会话在超时时间内工作的原因:如果用户在超时时间内没有执行请求,那么他应该已经放弃了会话,即使他刚刚阅读该页面超过20分钟。
使用RegisterClientScriptBlock创建一个调用页面加载session.End并关闭页面(Window.Close())的新页面。在使用Javascript卸载当前页面时调用此新页面window.Location。
可以使用INPROC模式的SQLServer模式instread
- 1. 在ASP.NET C中处理会话#
- 2. 在asp.net处理程序访问会话
- 3. 在ASP.NET MVC中处理会话超时
- 4. 如何在asp.net中处理会话mvc
- 5. ASP.Net如何处理会话管理?
- 6. 处理会话
- 7. 处理会话
- 8. 处理会话
- 9. 使用RavenDB和ASP.NET MVC处理会话
- 10. ASP.NET MVC RC2 - 会话处理错误?
- 11. ASP.NET通用处理程序和会话
- 12. 在mvc3中处理会话
- 13. PHP会话处理
- 14. 处理PHP会话
- 15. Angular4会话处理
- 16. php会话处理
- 17. Tomcat会话处理
- 18. Ksoap2 - 会话处理
- 19. PHP - 默认会话处理与自定义会话处理
- 20. Python多处理处理会话
- 21. Asp.Net Sql Server会话管理
- 22. asp.net Nhibernate会话管理
- 23. asp.net Nhibernate会话管理
- 24. ASP.NET会话ID管理
- 25. ASP.NET中的会话管理
- 26. ASP.NET处理外部服务器会话 - 清理
- 27. ASP.Net MVC 3:在哪里处理会话丢失?
- 28. 在ASP.NET中如何处理会话和多个选项卡?
- 29. 如何处理会话超时在asp.net 3.5
- 30. ASP.Net - 在负载平衡环境中处理会话数据?
+1:一个非常好的教程马蒂亚斯。 – Kamyar 2011-03-28 08:00:57
谢谢。但我没有编写这个教程! :D – 2011-03-28 08:03:45
我知道。但感谢分享:) – Kamyar 2011-03-28 08:05:17