none
SessionState工作在SQLServer模式下,Global中Session_End为什么不执行? RRS feed

答案

全部回复

  • 捕到不了进程 所以执行无效
    你这个方式变成永久存储了 http://www.cnblogs.com/legoras/archive/2007/07/11/813888.html参考
    努力学习wpf
    • 已标记为答案 KeFang Chen 2009年11月27日 2:26
    • 取消答案标记 Hugo12345 2009年11月28日 7:52
    2009年11月26日 9:15
  • 微软在msdn上说了,

    Session_End只发生在InProc设置


    【孟子E章】
    • 已标记为答案 KeFang Chen 2009年11月27日 2:26
    • 取消答案标记 Hugo12345 2009年11月28日 7:52
    • 已标记为答案 Hugo12345 2009年12月1日 4:01
    2009年11月26日 13:39
    版主
  • 那有什么办法能使得工作在SqlServer模式下时,Session失效时程序能够捕获到并执行事件呢? 我记得SqlCacheDependency有使用一种通知机制。当依赖被改变时程序就能接到通知并使得对应缓存失效,我可以想法这样的效果吗?我应该这么做呢? SessionState工作在SQLServer模式下,有一项作业:ASPState_Job_DeleteExpiredSessions将自动删除所有失效的Session。我能通过一个怎样的 方法在该作业删除特定Session时捕获被删除的SessionId。然后通过一个事件来进行处理?
    郭鹏
    2009年11月28日 8:00
  • 数据库触发器可以做
    【孟子E章】
    2009年11月28日 9:35
    版主
  • 哦。我去看看。触发器我很少接触过。他可以通知应用程序?我原来一直以为他只是在数据库内部进行工作


    郭鹏
    2009年11月28日 10:51
  • 是在数据库内部工作
    【孟子E章】
    2009年11月28日 12:17
    版主
  • 触发器是sqlserver 内部工作的 不通知程序  我觉得不太现实的 除非程序定时查询数据库数据才行
    觉得程序监视数据库表比较行得通
    • 已标记为答案 Hugo12345 2009年11月28日 16:03
    • 取消答案标记 Hugo12345 2009年11月28日 16:03
    2009年11月28日 15:00
  • 如果SessionState工作在InProc模式下。在Session_End事件中能够获得SessionId。我有办法通过这个ID获得该会话的HttpContext吗?


    郭鹏
    2009年11月29日 7:10
  • 用HttpContext.Current.Session.SessionID
    2009年11月29日 7:24
  • Session_End 事件中根本没有HttpContext.Current。
    我是想在Session_End事件中,知道SessionId获取这个会话的HttpContext
    郭鹏
    2009年11月29日 8:09
  • 不能! 这个事件没有关联任何请求
    这是网上 一段解释
    问:在Session_End中是否可以获得HttpContext对象?
    答:不行,因为这个事件并没有和任何的请求(Request)相关联,没有基于请求的上下文。
    2009年11月29日 14:22
  • Session_End事件中只能得到 Session.SessionID,直接写,不要HttpContext
    【孟子E章】
    2009年11月30日 1:02
    版主
  • 目前我是在研究在Web应用程序中,如何防止同一账户重复登录的问题。Session Appliction在非SQLServer模式下可能丢失,如果丢失将导致用户无法登录。所以我采用SQLServer工作模式。但是在处理用户是直接关闭浏览器,而不是手动注销时,我该这么注销该账户的问题。在SQLServer中,有个ASPState数据库专门负责保存Session和Application。然后又一项作业负责删除所有过期的Session。在这个数据库的Session表中看起来对我有用的就只有SessionId。如果这个表中能够保存一些自定义的数据就能通过触发器之类的东西来注销用户。请问有办法可以向这个表中写入一些自定义的数据吗?由于Session工作在SQLServer模式下的时候我直接使用Session["key"]的方式就能够完成对数据库的写入。完全不知道这么能够写入一些自定义的数据。


    郭鹏
    2009年11月30日 4:43
  • 我是同样的问题,你有解决吗?
    2019年7月3日 6:12